为了账号安全,请及时绑定邮箱和手机立即绑定

代码冗余了吧

我觉得代码冗余了.target一来就可以志向this 而且这个for循环for (; i < length; i++) 也有点多余了,上面if中i--了,那下面的for循环也只可能执行一次吧.如果没执行if中的语句,那for循环中就从arguments[1]开始了,那arguments[0]没有得到扩展啊?求解释~

正在回答

2 回答

var a = {a:1},b = {a:2,b:1};

$.extend(a,b);

console.log(a);//{a:2,b:1}

console.log(b);//{a:2,b:1}

console.log($.a);//undefined

$.extend(a);

console.log($.a);//2

并不是所有的arguments都是往$上面挂载的,extend(boolean,object target,obj)才是完整的写法。


0 回复 有任何疑惑可以回复我~

我来回答一下吧,是我个人的理解,不知正确与否,希望 @Aaron 可以纠正,

关于“如果没执行if中的语句,那for循环中就从arguments[1]开始了,那arguments[0]没有得到扩展啊?”这个问题,样例代码中,如果执行extend时,传入的参数个数大于1,也就是第一个if判断失败的时候,我们应该可以得知使用者是针对某个具体的target(也就是arguments[0]对象)的扩展处理,随后的for循环直接跳过arguments[0]是合理的。老师的想法很巧妙...

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

代码冗余了吧

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信