完整代码为
var b = 10,
c = (
20,
function(x) {return x + 100},
function() {return arguments[0]}
);
a = b + c({x:10}).x // => 20
我如何理解c({x:10}).x
...
最佳答案
首先,让我们重写代码,使其更易于阅读。
构造 (x, y, z)
计算最后一项 (z
),因此:
var b = 10, c = function() { return arguments[0] };
a = b + c({ x: 10 }).x // => 20
现在,c
函数只返回第一个参数,这在这里毫无意义,所以让我们删除它:
var b = 10;
a = b + ({ x: 10 }).x // => 20
对象字面量 { x: 10 }
在这里也没有用,因为我们只是得到它的 x
属性然后丢弃它,所以:
var b = 10;
a = b + 10 // => 20
现在有意义吗?
关于javascript - 我如何理解 c({x :10}). x?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15514807/