JS语言理解15 连等赋值 |
您所在的位置:网站首页 › js连等赋值 › JS语言理解15 连等赋值 |
题目
在面试的时候遇到这样一道面试题: var a = {n: 1}; var b = a; a.x = a = {n: 2}; console.log(a.x); console.log(b.x);不出意外的我答错了,回来之后查阅了一些资料,把自己的理解写出来。 关键原则首先要理解的关键原则: (1)赋值表达式 A = B上面的表达式就叫做赋值表达式,JS引擎是按照如下步骤计算赋值表达式的: 计算表达式A,得到一个引用refA 计算表达式B,得到一个值valueB 将value赋给refA指向的名称绑定 返回valueB(2)赋值运算右结合,赋值时从右至左永远只取等号右边的表达式结果赋值到等号左侧 let a = b = 1; console.log(a); console.log(window.a); console.log(b) consoel.log(window.b);有了上面的规则,JS引擎在计算连等赋值表达式时,例如: Exp1 = Exp2 = Exp3 = Exp4根据右结合特性 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |