- 在函数中要使用window时,可以作为参数传进去,有两个好处,一是可以提高性能,因为window是最顶层的变量,函数中使用window时,首先是在局部变量和参数中寻找,依次往上找,在参数中传进去,可以更快找到。二是在代码压缩时,函数内的window就可以压缩了。那比如window.location、window.document等常用变量也可以赋值给局部变量,那样既提高效率,又可以方便压缩。
- jQ中的 $.extend()方法用的是拷贝继承,比较大众化
- $(function(){})其实调用的是$(docuemnt).ready(function(){}) 又相当于$().ready() 又相当于jQuery.ready.promise().done(fn);最终调用的是$.ready()
- typeof NaN==number typeof 除了判断未定义变量外,没什么作用,代码中不推荐使用,typeof的结果可能有(“undefined”(未定义或者未初始化)、”boolean”、“string”、“number”、“object”(对象或者null) 、“function”)
- js一共5中原始数据类型 Undefined Null Boolean Number String ,还有一种复杂数据类型,Object,所有的值都是上述类型之一。
- (null或则undefined)==null 为true 所以要判断一个变量是否为null或者undefined,只要if(aa==null)即可
- 原生js不能获得隐藏元素的属性值 可以使用display:block;visibility:hidden;position:absolute,就可以获得元素的style里的属性了。上面这样写和display:none是一样的效果,但是可以获取属性。$.swap可以提供这样的实现。
- nodeType的值有:
元素element 1
属性attr 2
文本text 3
注释comments 8
文档document 9 - DOM元素与对象之间互相引用,很可能就会发生内存泄露。所以用$.data比attr和prop可以避免这点。其实利用cache中介
- queue 中存储的都是函数
- attr 调用的是setAttribute(可以设置获取自定义属性) prop调用的是 . 或则[] prop不常用