JavaScript基础 (五): 变量、表达式与操作符

本文介绍了JavaScript中的变量概念、命名规则、声明与赋值方法,以及表达式与各种操作符的使用,包括算术操作符、比较操作符和逻辑操作符。

一、变量

1、什么是变量

从字面上看,变量是可变的量;
从编程角度讲,变量是用于存储某种/某些数值的存储器。

我们可以把变量看做一个盒子,盒子用来存放物品,物品可以是衣服、玩具、水果...等。

输入图片说明

2、变量命名

我们为了区分盒子,可以用 BOX1BOX2 等名称代表不同盒子,BOX1 就是盒子的名字(也就是变量的名字)。
输入图片说明

命名规则:

  • 必须 以字母、下划线 或 美元符号开头,后面可以跟字母、下划线、美元符号和数字。如下:
 正确:           
    mysum            
    _mychar         
    $numa1          
错误:
  6num  //开头不能用数字
  %sum //开头不能用除(_ $)外特殊符号,如(%  + /等)
  sum+num //开头中间不能使用除(_ $)外特殊符号,如(%  + /等) 
  • 变量名区分大小写,如: Aa 是两个不同变量。
  • 不允许使用 JavaScript 关键字和保留字 做变量名。

输入图片说明

3、变量声明

声明变量的语法:

 var 变量名; 

var 就相当于找盒子的动作,在 JavaScript 中是关键字(即保留字),这个关键字的作用是声明变量,并为 “变量” 准备位置(即内存)。

var mynum ; //声明一个变量mynum

当然,我们可以一次找一个盒子,也可以一次找多个盒子,所以Var还可以一次声明多个变量,变量之间用 ","逗号 隔开。

var num1,mun2 ; //声明一个变量num1

注意:变量也可以不声明,直接使用,但为了规范,需要先声明,后使用。

4、变量赋值

我们使用 = 号给变量存储内容,看下面的语句:

var mynum = 5 ; //声明变量mynum并赋值。

这个语句怎么读呢? 给变量mynum赋值,值为5。我们也可以这样写:

var mynum; //声明变量mynum
mynum = 5 ; //给变量mynum赋值

注:这里 "="号的作用是给变量赋值,不是等于号。

盒子可以装衣服、玩具、水果...等。其实,变量是无所不能的容器,你可以把任何东西存储在变量里,如数值、字符串、布尔值等,例如:

var num1 = 123;       // 123是数值
var num2 = "一二三";    //"一二三"是字符串
var num3=true;    //布尔值true(真),false(假)

其中,num1变量存储的内容是数值;
num2变量存储的内容是字符串,字符串需要用一对引号""括起来;
num3变量存储的内容是布尔值(true、false)。

二、表达式

表达式与数学中的定义相似,表达式是指具有一定的值、用操作符把常数和变量连接起来的代数式。一个表达式可以包含常数或变量

我们先看看下面的JavaScript语句:

输入图片说明

生活中“再见”表达方法很多,如:英语(goodbye)、网络语(88)、肢体语(挥挥手)等。 在JavaScript表达式无处不在,所以一定要知道可以表达哪些内容,看看下面几种情况:
输入图片说明

注意:串表达式中mychar是变量。

输入图片说明

注意:数值表达式中num是变量。

输入图片说明
注意:布尔表达式中num是变量。

三、操作符

操作符是用于在 JavaScript 中指定一定动作的符号。

JavaScript中有很多操作符,例如,算术操作符(+、-、*、/ 等),比较操作符(<、>、>=、<=等),逻辑操作符(&&、||、!)。

1、算术操作符

算术运算符主要用来完成类似加减乘除的工作

1.1、+ 号操作符

加法作用:
sum = numa + numb;

其中的=+都是操作符。

注意: = 操作符是赋值,不是等于。

连接作用

连接两个字符串,例如:

mystring = "Java" + "Script"; // mystring的值“JavaScript”这个字符串

1.2、自加1,自减1(++ 和 --)

算术操作符除了(+、-、*、/)外,还有两个非常常用的操作符,自加一++;自减一--。首先来看一个例子:

mynum = 10;
mynum++; //mynum的值变为11
mynum--; //mynum的值又变回10

上面的例子中,mynum++使mynum值在原基础上增加1,mynum--使mynum在原基础上减去1,其实也可以写成:

mynum = mynum + 1;//等同于mynum++
mynum = mynum - 1;//等同于mynum--

2、比较 操作符

我们先来做道数学题,数学考试成绩中,小明考了90分,小红考了95分,问谁考的分数高?
答: 因为“95 > 90”,所以小红考试成绩高。

其中大于号>就是比较操作符,小红考试成绩和小明考试成绩就是操作数,并且是两个操作数。

也就是说两个操作数通过比较操作符进行比较,得到值为真(true)和假(false)。

在JavaScript中,这样的比较操作符有很多,这些操作符的含义如下:
输入图片说明

看看下面例子:

var a = 5;//定义a变量,赋值为5
var b = 9; //定义b变量,赋值为9
document.write (a<b); //a小于b的值吗? 结果是真(true)
document.write (a>=b); //a大于或等于b的值吗? 结果是假(false)
document.write (a!=b); //a不等于b的值吗? 结果是真(true)
document.write (a==b); //a等于b的值吗? 结果是假(false)

== 与 ===(全等于比较)区别: == 比较两个值; === 同时比较元素的值和 数据类型。
3 === 3 // true
3 === '3' // false

!= 与!==(不全等) != 与== 相反; !== 与=== 相反。

3、逻辑操作符

3.1、逻辑与

数学里面的a>b,在JavaScript中还表示为 a>b
数学中的b大于a,b小于ca<b<c,那么在JavaScript中可以用&&表示,如下:

b>a && b<c    //“&&”是并且的意思, 读法"b大于a"并且" b小于c "

好比我们参加高考时,在进入考场前,必须出示准考证和身份证,两者缺一不可,否则不能参加考试,表示如下:

if(有准考证 &&有身份证) 
{
   进行考场考试
}

&&是逻辑与操作符,只有&&两边值同时满足(同时为真),整个表达式值才为真。

逻辑与操作符值表:

输入图片说明

注意:如果 A 为假,A && B为假,不会在执行B; 反之,如果A为真,要由B 的值来决定 A && B 的值。

3.2、逻辑或

|| 逻辑或操作符,相当于生活中的 “或者”,当两个条件中有任一个条件满足,“逻辑或”的运算结果就为“真”。

例如:本周我们计划出游,可是周一至周五工作,所以周六或者周日哪天去都可以。即两天中只要有一天有空,就可以出游了。

var a=3;
var b=5;
var c;
c=b>a ||a>b;  //b>a是true,a>b是false,c是true

逻辑或操作符值表:
输入图片说明

注意: 如果 A为真,A || B为真,不会在执行B; 反之,如果A为假,要由B 的值来决定 A || B 的值。

3.3、逻辑非

! 是逻辑非操作符,也就是"不是"的意思,非真即假,非假即真。

好比小华今天买了一个杯子,小明说:"杯子是白色的",小亮说:“杯子是红色的”,小华说:"小明说的不是真话,小亮说的不是假话"。猜猜小华买的什么颜色的杯子,答案:红色杯子。

逻辑非操作符值表:
输入图片说明

看看下面代码,变量c的值是什么:

var a=3;
var b=5;
var c;
c=!(b>a);  // b>a值是true,! (b>a)值是false
c=!(b<a);  // b<a值是false, ! (b<a)值是true

4、操作符优先级

我们都知道,除法、乘法等操作符的优先级比加法和减法高,例如:

var numa=3;
var numb=6
jq= numa + 30 / 2 - numb * 3;  // 结果为0

如果我们要改变运算顺序,需添加括号的方法来改变优先级:

var numa=3;
var numb=6
jq= ((numa + 30) / (2 - numb)) * 3; //结果是-24.75

操作符之间的优先级(高到低):

算术操作符 → 比较操作符 → 逻辑操作符 → "="赋值符号

如果同级的运算是按从左到右次序进行,多层括号由里向外。

var numa=3;
var numb=6;
jq= numa + 30 >10 && numb * 3<2;  //结果为false

转载于:https://my.oschina.net/Agnes2017/blog/1811992

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值