创建jquery对象-->类数组-->隐式创建对象-->jquery的构造函数设计方式
创建jquery
考虑到jquery链式的尿性,通过$(xx)创建出来的对象都是jquery对象
通过上面2张图可以发现jquery对象具有的2个小特点
1.不需要关键字new创建对象 -->隐式创建对象
2.使用数字进行下标管理-->类数组对象
对象,数组和类数组
{}对象
所有对象的父类,可以通过.或者[]进行数据的获取
可以看到其属性支持字母,数字,奇怪的字符还有关键字甚至各种空格,当然一般情况下还是\w\d(关键字什么的就算前台可以想办法处理,丢到后台就会出问题)
[]对象
数组是值得有序集合,能够以数字为索引的结构,都能称的上数组
一般表现为可以通过[num]的方式获取单个内容,且拥有length属性(size方法)
在javascript中自带的数组对象就是符合这样的特征,且他自带很多实用的方法
Object[]对象
"拥有length,split"
{}对象可以使用[sum],的方式进行数据的获取,很显然我可以自定义自己的数组对象,只要管理好length属性,他可以像传统数组一样工作,我们可以给他添加各种自定义的方法和属性又不影响正常的数组对象,当然,我们也不可以使用正常数组自带的方法了
比如arugments就是一个类数组,他连size都没有
比如document集合也是一个类对象,看来size()不是必须的
所以,jquery是一个类数组,一个拥有传统的数组使用方式的对象
隐式创建对象
javascript使用关键字new + 构造函数进行对象的创建,如
创建对象需要new,是铁打的事实,但如果Alice的实例大量存在,我想省去new,直接通过Alice()进行对象的创建呢?(在jquery中,存在很多快速索引,尤其是那些又臭又长的方法/属性,至于是减少字符还是提高搜索速度,who cares)
通过new+构造函数创建对象的特点/标准
1.实例方法的__proto__为构造函数的prototype
2.描述符必须为构造函数(constructor指向)
实现隐身创建
修补prototype引用
jquery的构造函数设计方式
"
浙公网安备 33010602011771号