jQuery核心函数
$()就是jQuery的核心函数
<script>
//可以接收一个函数
$(function () {
//接收一个字符串选择器
//返回一个jQuery对象
var $div = $('.content');
console.log($div);
//接收一个字符串代码片段
//返回一个jQuery对象
//会将字符串中的内容动态创建为一个DOM元素
var $p = $('<p>我是p</p>');
console.log($p);
$div.append($p);
//接收一个DOM元素
//会被包装成一个jQuery对象返回给我们
var span=document.getElementsByTagName('span')[0];
var $span=$(span);
console.log($span);
})
</script>
jQuery对象
jQuery对象是一个类数组
什么是类数组?
和数组一样有0~~length-1和length属性,但是不能使用数组的任何方法
静态方法和实例方法
1、静态方法:直接添加给函数的就是静态方法
//1、定义一个函数
function AClass(){
}
//2、给这个函数添加一个方法
AClass.staticMethod=function(){
alert('staticMethod');
}
//静态方法直接通过函数名调用
AClass.staticMethod()
2、实例方法:在原型链上设置的就是实例方法
//1、定义一个函数
function BClass(){
}
//2、给这个函数的原型添加实例方法
BClass.prototype.instanceMethod=function(){
alert('instanceMethod');
}
//3、创建对象
var bclass=new BClass();
//4、通过对象调用实例方法
bclass.instanceMethod();
jQuery-each、jQuery-map方法
原生js forEach()方法:用于遍历数组
该方法不能遍历类数组
<script>
var arr=[1,3,5,7,9];
//第一个参数代表属性值,第二个参数代表索引
arr.forEach(function(value,index){
console.log(index,value);
})
</script>
jQuery–each()方法
既可以遍历数组,也可以遍历类数组
<script>
var arr=[1,3,5,7,9];
var obj={
0:1,
1:3,
2:5,
3:7,
4:9,
length:5,
push:Array.prototype.push,
splice:Array.prototype.splice
}
//第一个值为索引,第二个值为属性值
$.each(arr,function(index,value){
console.log(index,value);
})
$.each(obj,function(index,value){
console.log(index,value);
})
原生js–map()方法
和forEach()方法一样,不能遍历类数组
<script>
var arr=[1,3,5,7,9];
var obj={
0:1,
1:3,
2:5,
3:7,
4:9,
length:5,
push:Array.prototype.push,
splice:Array.prototype.splice
}
//第一个参数是属性值,第二个参数是索引,第三个参数是被遍历的数组
arr.map(function(value,index,res){
console.log(index,value,res);
})
</script>
jQuery–map()方法
<script>
var arr=[1,3,5,7,9];
var obj={
0:1,
1:3,
2:5,
3:7,
4:9,
length:5,
push:Array.prototype.push,
splice:Array.prototype.splice
}
//第一个参数是属性值,第二个参数是索引
$.map(arr,function(value,index){
console.log(index,value);
})
$.map(obj,function(value,index){
console.log(index,value);
})
</script>
jQuery–each()和jQuery–map()的区别:
each()方法返回的值默认是被遍历的数组
each()方法不支持在回调函数中对被遍历的数组进行处理
map()方法返回的值默认是一个空数组
map()方法可以在回调函数中通过return对被遍历的数组进行处理,然后生成一个新数组并返回
jQuery其他静态方法
1、$.trim(str)
作用:去除字符串两端的空格,并返回一个新的字符串
2、$.isWindow(a)
作用:判断传入的对象是否是window 返回值:true/false
3、$.isArray(a)
作用:判断传入的对象是否是数组 返回值:true/false
4、$.isFunction(a)
作用:判断传入的对象是否是函数 返回值:true/false
jQuery–holdReady()
作用:暂停ready执行
传入值为true时代表暂停,值为false时代继续
<script>
$.holdReady(true);
$(document).ready(function () {
alert('123');
})
</script>