JavaScript权威指南第6版中文版犀牛书.pdf的171/1018,书的页数是159,有一段js代码不对报错?

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

书里写不对吗?为什么?


补充我用的浏览器是:谷歌和搜狗

阅读 5.1k
3 个回答

你是真的在认真看书吗?别说人家书的问题,要是有早就被发现了!不知道你怎么看的书。

考虑一下例 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); }

很明显你传了一个上下文没有的参数。。。
union is not defined

老外的书就是这样,给你举一个例子往往后面有多处要用到,不过书中应该是有说明的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题