var objects = [{x:1},{y:2},{z:3}];
var merged = objects.reduce(union); // =>{x;1,y:2,z:3}
alert(merged);
JavaScript权威指南第6版中文版犀牛书.pdf的171/1018,书的页数是159
有以上一段代码,用浏览器运行报错:
test.js:3 Uncaught ReferenceError: union is not defined
书里写不对吗?为什么?
补充我用的浏览器是:谷歌和搜狗
很明显你传了一个上下文没有的参数。。。
union is not defined
你是真的在认真看书吗?别说人家书的问题,要是有早就被发现了!不知道你怎么看的书。
考虑一下例 6-2 中的union函数.
而这里的union是书里作者自己定义的。
function extend(o, p) {
for(prop in p) { // For all props in p.
o[prop] = p[prop]; // Add the property to o.
}
return o;
}
function union(o,p) { return extend(extend({},o), p); }
老外的书就是这样,给你举一个例子往往后面有多处要用到,不过书中应该是有说明的。