jQuery的扩展函数具有递归扩展选项,我在创建json配置文件时使用它。我可以看到下划线有一个extend function,但它甚至没有提到递归。我认为这意味着它不会递归扩展,但我认为在将它实现到我的项目之前我会问这里并浪费了很多时间。
答案 0 :(得分:1)
您的假设是正确的,Underscore的extend
不会递归扩展。 implementation is rather simple:
_.extend = function(obj) {
each(slice.call(arguments, 1), function(source) {
for (var prop in source) {
obj[prop] = source[prop];
}
});
return obj;
};
最有趣的部分是for
循环中的内容,一个简单的非递归赋值:
obj[prop] = source[prop];