一次记不住的问题:
原生JS会等到DOM元素加载完成,并且图片也加载完成再执行
jQuery会等到DOM元素加载完成,但不会等到图片也加载完成再执行
原生JS中编写了多个和入口函数,后面编写的会覆盖前面编写的
jQuery中编写了多个入口函数,后面的不会覆盖前面的
jQuery中四种入口函数的写法
on
$(document).ready(function(){
})
two
jQuery(document).ready(function(){
})
three(推荐用这个 简单!)
$(function(){
})
four
jQuery(function(){
})
遇到jQuery冲突的情况下
//1.释放$的使用权
jQuery.noConflict()
//2.自定义一个访问符号
var zed = jQuery.noConflict()
/*
释放操作和自定义操作必须在编写其他jQuery之前编写
释放之后就不能再用$而是改为使用jQuery
*/
静态方法和实例方法的调用
//静态方法 直接添加给类
AClass.staticMethod = ()=>{
alert("staticMethod")
}
Aclass.staticMethod();
//实例方法 添加到类的原型,通过类的实例调用
AClass.prototype.instanceMethod = ()=>{
alert("instanceMethod")
}
var a = new AClass();
a.instanceMethod();
each和map方法
//each和map方法可以遍历伪数组(有索引值,有length属性)
//例如:obj = {0:1,1:2,2:3,length:3}
$.each(array,function(index,value){
console.log(index,value)
})
$.map(array,funcition(value,index){
console.log(index,value)
})
//each和map方法的区别
//each静态方法默认返回值:遍历谁就返回谁
//map静态方法默认返回值是空数组
//each静态方法不支持在回调函数中对便利的数组进行处理
//map静态方法可以在回调函数中通过return对遍历的数组进行处理,然后生成一个新的数组返回
其他静态方法
$.trim(string) //去除字符串两端的空格
后面有点多 放一个jQuery API的中文文档吧。jQuery中文文档
绑定事件:
//jQuery中的两种绑定是件方式
//1.eventName(fn)
$("button").click(function(){
})
//编码效率高,有些事件没有添加
//2.on(eventName,fn)
$("button").on("click",function(){
})
//效率略低,所有js事件都可以添加
移除事件:
//不传参 会移除 该元素 所有事件
$("button").off()
//传一个参会移除 该元素 的指定类型的事件
$("button").off("click")
//传两个参数 会移除 指定类型的指定事件
随时添加