课程
/前端开发
/jQuery
/jQuery源码解析(架构与依赖模块)
copy = options[name];
//覆盖拷贝
target[name] = copy;
为什么不能直接写成 target[name]=options[name]
2016-08-01
源自:jQuery源码解析(架构与依赖模块) 2-8
正在回答
以下是我的理解,不知道对不对
貌似是深浅拷贝的问题
copy = options[name]其实新建了一个与 options[name]相同内容的对象,这样使用target[name]时候就不会影响到options[name]的值,是深拷贝;
target[name]=options[name]的话则是浅拷贝,target[name]其实是options[name]的引用,target[name]改变,options[name]也会随着改变。
杰枫 提问者
慕无忌2114720
和target[name] = options[name]没有区别,这里的copy没任何作用。
估计老师是参考jquery源代码写的,但源代码中copy变量还做了其他操作。
chen87870098
举报
由浅入深地剖析jQuery库的设计与实现,揭开框架背后的秘密
1 回答memory的使用场景和意义?
1 回答数据是这样存的吗?
2 回答选择器选择ID不是只有一个的吗?用[0]和不用[0]一样呀,有什么意义吗
3 回答$没定义啊
4 回答我有一个疑问,把$赋值给_$,那么 $就不存在了吗