从右到左评估,从左至右链方法
问题描述:
下面的函数内的表达式求值从右到左从右到左评估,从左至右链方法
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
所以不是叫他们一个,我想我知道什么时候从左到右,从左到右阅读,但是有一条规则,我需要知道哪些我不知道?
答
规则称为“操作符关联性”,它与运算符优先级一起,是大多数语言中每个运算符的一个属性(算术运算,成员访问,是一元运算还是二元运算等)。关联性通常由语言规范定义,通常可以在书籍,教程,作弊表格等中找到。 JavaScript的第一个谷歌搜索结果之一是:http://www.javascriptkit.com/jsref/precedence_operators.shtml