Javascript 何时过滤原型链?
我注意到,的实现将复制所有内容,包括原型链 我注意到它将过滤掉原型链上的属性 我本来希望Javascript 何时过滤原型链?,javascript,underscore.js,Javascript,Underscore.js,我注意到,的实现将复制所有内容,包括原型链 我注意到它将过滤掉原型链上的属性 我本来希望.extend在默认情况下过滤掉原型链上的属性。如果是这样的话,.extend的实现中,每个可以使用两次,而不是一次 为什么原型链没有在.extend中进行过滤,就像在.each中一样?文档没有提到它是否读取原型链 从他们的代码,.clone方法中,他们使用.extend创建浅拷贝。这可能是\uux.extend读取原型链的真正原因。。。这不是一个好理由。但是,我从不使用。
.extend
在默认情况下过滤掉原型链上的属性。如果是这样的话,.extend
的实现中,每个可以使用两次,而不是一次
为什么原型链没有在
.extend
中进行过滤,就像在.each
中一样?文档没有提到它是否读取原型链
从他们的代码,.clone
方法中,他们使用.extend
创建浅拷贝。这可能是\uux.extend
读取原型链的真正原因。。。这不是一个好理由。但是,我从不使用。
传递原始对象以外的任何东西
克隆需要它的原因示例
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'}
这对你有关系吗?这将是一个更好的问题,否则,这对Soy来说太理论化了。如果您联系开发人员,您可能会得到更好的答案。