JS:为什么我需要括号来调用数字方法?
JS: why do i need brackets to call a method on number?
function func2method(f){
return function(y) {
return f(this, y);
};
}
Number.prototype.add = func2method(function(x, y){return x+y});
为什么我必须使用括号才能在数字上调用此方法?
例如,3.add(4)
不会工作,而 (3).add(4)
工作得很好。
因为3.0
与(3)['0']
不一样
文字的解释不同。点 .
表示数字文字上的小数点,但对象上的点 .
表示 属性 访问器(转换为上面的方括号表示法)
function func2method(f){
return function(y) {
return f(this, y);
};
}
Number.prototype.add = func2method(function(x, y){return x+y});
为什么我必须使用括号才能在数字上调用此方法?
例如,3.add(4)
不会工作,而 (3).add(4)
工作得很好。
因为3.0
与(3)['0']
文字的解释不同。点 .
表示数字文字上的小数点,但对象上的点 .
表示 属性 访问器(转换为上面的方括号表示法)