优点:选择元素简单、所有事件函数化、容易上手、运行速度快。。。。
与原生JS相比:
- 原生JS和jQuery入口函数的加载模式不同(通过jQuery不可以拿到DOM元素的宽高)。原生jS会等到DOM元素加载完毕,并且图片也加载完成才会执行。jQuery会等到dom元素加载完毕但是不会等图片加载完就会执行。
- 原生JS如果编写多个入口函数,后面编写的会覆盖之前写的。jQuery中编写多个入口函数,后面编写的不会覆盖前面的。
入口函数解决冲突问题:
- 释放$的使用权
jQuery.noConflict(); 注意:释放操作必须在编写其他jQuery代码之前编写,释放之后就不能再使用$,改为使用jQuery。
- 自定义一个访问符号
var wj=jQuery.noConflict();
核心函数:
$(); //即代表调用jQuery的核心函数。
()中可以放:
- 接收一个函数。(即入口函数)
- 接收一个字符串。 接收一个字符串选择器(返回一个jQUery对象,对象中保存了找到的DOM元素);接收一个字符串代码片段var $box1=$(".box1"); var $p=$("<p>段落</p>");(返回一个jQuery对象,对象中保存了创建的DOM元素)。
- 接收一个DOM元素。(会被包装成一个jQuery对象返回给我们)
jQuery对象:
是一个伪数组。(有0~length-1的属性,并且有length属性)
js中,直接添加到类上面的就是静态方法(通过类名调用),添加到这个类的原型上的就是实例方法(通过实例来调用)。
function aClass(){}; //定义一个函数
aClass.staticMethod=function(){ //给这个类添加一个静态方法
alert("staticMethod");
};
aClass.staticMethod(); //静态方法通过类名调用
aClass.prototype.instanceMethod=function(){ //给这个类添加一个实例方法
alert("instanceMethod");
};
var a=new aClass(); //创建一个实例,通过实例调用实例方法
a.instanceMethod();