课程
/前端开发
/jQuery
/jQuery源码解析(架构与依赖模块)
options = arguments[i],copy = options[name];这两步貌似都是多余的直接操作后者就可以了吧?
2015-11-20
源自:jQuery源码解析(架构与依赖模块) 2-5
正在回答
jquery的宗旨是write less,do more
1、提升性能
2、省代码,提高可读性,jquery 的作者对敲出的字母是很珍惜的,一个字符都不想多敲
arguments[i][name]表示的是 函数参数的属性,对象属性调用使用超过1次就需要用变量替代。因为使用对象属性很耗性能。
因为源代码里面这两步之间存在其他代码。老师只是把重要的代码捡出来了,并没有改动
options[name]可能是对象,引用类型。直接用"="不能拷贝它的值。所以代码中用了深度拷贝。
我说的是课程中的代码,我的意思是直接copy =arguments[i][name]不就完了吗
没明白你的意思 不知道你说的后者是什么,你可以把你认为可以的代码写下来。大家帮你看下
举报
由浅入深地剖析jQuery库的设计与实现,揭开框架背后的秘密