以下函数中的表达式从右到左进行计算
function foo(){
var a = b = c;
}
所以它就像是这样输入的
var a = (b = 0)
但是,当方法链接在一起时,它们从左到右阅读。该对象中的方法......
var obj = {
value: 1,
increment: function () {
this.value += 1;
return this;
},
add: function (v) {
this.value += v;
return this;
},
shout: function () {
alert(this.value);
}
};
可以像这样调用,从左到右评估
obj.increment().add(3).shout(); // 5
//而不是逐个调用它们
obj.increment();
obj.add(3);
obj.shout(); // 5
所以,我想我知道什么时候从左到右阅读,但有一条规则,我需要知道哪些我不知道?
答案 0 :(得分:6)
规则被称为“运算符关联性”,并且与运算符优先级一起,是大多数语言中每个运算符的属性(算术,成员访问,一元或二元等)。关联性通常由语言规范定义,通常可以在书籍,教程,备忘单等中找到。 javascript的第一个谷歌搜索结果之一是:http://www.javascriptkit.com/jsref/precedence_operators.shtml