购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

5.6 赋值运算符

赋值是一种运算,但习惯上,把赋值独立成行,故称之为赋值语句。

赋值运算符的左侧运算数必须是变量、对象属性或数组元素。

【示例1】 下面的写法是不对的,因为左侧的值是一个直接量,是不允许操作的。

     1=100;                 //返回错误

JavaScript提供了两种类型的赋值运算符:简单赋值运算符(=)和附加操作的赋值运算符。

简单的赋值运算符,就是把右侧的运算数的值直接复制给左侧变量。

附加操作的赋值运算符,就是赋值之前还要对右侧运算数执行某种操作,然后再复制,详细说明如表5-9所示。

表5-9 附加操作赋值运算符

【示例2】 由于赋值运算符可以参与表达式运算,用户可以设计很多复杂的赋值操作,如连续赋值表达式。

     var a=b=c=d=e=f=100;                    //连接赋值

由于赋值运算符是从右向左进行计算,所以连续赋值运算并不会发生错误。

在条件表达式中进行赋值:

【示例3】 在下面这个复杂的表达式中,逻辑与左侧的运算数是一个赋值表达式,右侧的运算数也是一个赋值表达式。但左侧仅是一个简单的数值赋值,而右侧的是把一个函数对象赋值给变量b。在逻辑与运算中,左侧的赋值并没有真正的复制给变量a,当逻辑与运算执行右侧的表达式时,该表达式是把一个函数赋值给变量b,然后利用小括号运算符调用这个函数,返回变量a的值,结果并没有返回变量a的值为6,而是undefined。

由于赋值运算作为表达式使用具有副作用,即它能够改变变量的值。因此在使用时要慎重,确保不要引发潜在的危险。经过上面示例代码,可以看到赋值运算符参与表达式运算时给变量a带来了不可预测的返回值。因此,对于上面表达式,更安全的写法是: vPU0+5jXVc9ylMywXZ3W8etPYf1FhzL+0oHhaJKcqUArnLNkkqtX+FFcjKRY8iGn

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开