jQuery内核详解和实战

一、使用jQuery选择器应该注意的问题

1、多用ID选择器:
2、少直接使用Class选择器
3、多用父子关系,少用嵌套关系(使用parent>child替代parent child)
4、缓存jQuery对象
5、选择器分类:基本选择器、组合选择器、属性选择器、伪类选择器、用户界面选择器、结构性选择器、其他选择器
6、jQuery选择器返回的永远是一个数组对象,但是若没有找到指定的元素,则会返回一个空的数组对象。因此判断一个jQuery对象是否存在,不能使用如下语句if($(“tr”)){//code}
7、getElementsByTagName返回数组

二、类数组(Array-Like)

1、get(index)方法读取集合中的元素,它与直接通过[i]来读取元素的方法是完全相同的
2、eq(index)方法克隆集合中的元素,也就是说不修改数组元素

三、this

1、this绑定与函数声明无关,与函数的调用方式有关
2、函数调用的this指向全局对象,若使用”use strict”的话,this将被设置为undefined
3、典型使用硬绑定的方式var bar = function(){ return foo.apply(obj,arguments);};
4、var bar = new foo();//this->constructed object
5、var bar = foo.call(obj2);//this->obj2
6、var bar = obj1.foo();//this->obj1
7、var bar = foo();//this指向全局对象

四、Javascript之OOP

1、在Javascript面向对象编程中存在许多层:简单对象、对象原型链、构造函数、构造器的继承
2、删除操作只针对与当前对象

Fork me on GitHub