先来看下 js 中基本类型的连续赋值是下面这样
js 中赋值是从右到左的,所以上面的连续赋值可以分解为下面这样
所以最终,a = 3, b = 3
再来看一道经典面试题
但是面试题中的情况跟上面的不太一样
js 开始去从左到右寻找有没有未声明的变量 或者 报错信息,如果没有,先检查存在运算的优先级,当 '.' 跟 '=' 同时出现时,先进行 '.' 操作,再做赋值操作,也就是 '='
所以面试题的连续赋值可以分解为以下步骤:
先来看下 js 中基本类型的连续赋值是下面这样
js 中赋值是从右到左的,所以上面的连续赋值可以分解为下面这样
所以最终,a = 3, b = 3
再来看一道经典面试题
但是面试题中的情况跟上面的不太一样
js 开始去从左到右寻找有没有未声明的变量 或者 报错信息,如果没有,先检查存在运算的优先级,当 '.' 跟 '=' 同时出现时,先进行 '.' 操作,再做赋值操作,也就是 '='
所以面试题的连续赋值可以分解为以下步骤: