jQuery的基本结构
-
jQuery本质就是一个闭包函数
-
jQuery为什么要使用闭包来实现?
为了避免多个框架冲突 -
jQuery如何让外界访问内部定义的局部变量
window.xxx = xxx -
jQuery为什么要给自己传递一个window参数?
为了方便后期查找压缩代码
为了提升差点的效率 -
jQuery为什么要给自己传递一个undefined参数?
为了方便压缩代码
ie9以下的浏览器undefinded可以被修改,为了保证内部使用的undefined不被修改,所有需要接受一个正确的undefined
jQuery入口函数测试
- 传入 ‘’,null,undefined,NaN,0,false 会返回一个jQuery对象给我们
- 传入HTML片段 会将创建好的DOM元素存储到jQuery对象中返回
- 传入字符串选择器, 会即将找到的所有元素存储到jQuery对象中返回
- 传入真数组、伪数组 会将数组中存储的元素依次存储到jQuery对象中返回
- 传入对象, 会将传入的对象存储到jQuery对象中返回
- 传入DOM元素, 会将传入的DOM元素存储到jQuery对象中返回
- 传入基本数据类型, 会将传入的基本数据类型存储到jQuery对象中返回
总结
传入什么数据类型, 会将传入的数据类型存储到jQuery对象中返回
真伪数组转换
- 如果想将真数组转化为伪数组
var obj = {0:"qzx", 1:"33", length: 2}
var arr = [].slice.call(obj)
- 将伪数组转化为真数组
var arr = {0:"qzx", 1:"33", length: 2}
[].push.apply(obj, arr)