首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么时候过滤原型链?

什么时候过滤原型链?
EN

Stack Overflow用户
提问于 2013-06-29 03:42:42
回答 1查看 31关注 0票数 0

我注意到_.extend的实现将复制所有内容,包括原型链。

我注意到_.each会过滤掉原型链上的属性。

我原本期望_.extend在默认情况下过滤掉原型链上的属性。如果是这样的话,在_.extend的实现中,_.each可能已经使用了两次,而不是只使用了一次。

为什么在_.extend中不像在_.each中那样过滤原型链

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-29 04:05:59

文档没有提到它是否读取原型链。

从他们的代码,_.clone方法,他们使用_.extend来创建一个浅层拷贝。这可能是_.extend读取原型链的真正原因……这并不是一个很好的理由。但是,除了传递原始对象之外,我从不使用_.extend传递任何内容

_.clone需要它的原因示例

代码语言:javascript
运行
复制
function Base(a) {
    this.a = a;
}

Base.prototype = {b: 'b'};    
var obj = new Base('a')

console.log($.clone({x: 'x'}, obj))

// Most people would expect the output to be
// {x: 'x',  a: 'a', b: 'b'}

// If it didn't read the prototype, it would only be
// {x: 'x',  a: 'a'}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17372450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档