jQuery静态方法和实例方法
静态方法:直接添加到类,通过类名调用
1.定义一个类
function AClass(){
}
2.给这个类添加一个静态方法
AClass.staticMethod = function(){
alert("staticMethod");
}
3.静态方法通过类名调用
AClass.staticMethod();
实例方法:添加到类的原型上,通过实例调用
4.给这个类添加一个实例方法
AClass.prototype.instanceMethod = function(){
alert("instanceMethod");
}
5.创建一个实例,实例方法通过类的实例调用
var a = new AClass();
a.instanceMethod();
- each方法
var arr = [1,3,5,7,9];
var obj = {0:1,1:3,2:5,3:7,4:9,length:5};//伪数组
用JS遍历:
arr.forEach(function(value,index){//第一个参数是遍历的内容元素,第二个参数是当前遍历到的数组
console.log(index,value);
});
obj.forEach(function(value,index){//运行结果,JS方法只能遍历数组,不能遍历伪数组
console.log(index,value);
});
用jQuery的each静态方法遍历:
$.each(arr,function(index,value){//第一个参数:当前遍历到的索引,第二个参数,遍历到的元素
console.log(index,value);
});
$.each(obj,function(index,value){
console.log(index,value);
});
- map方法
var arr = [1,3,5,7,9];
var obj = {0:1,1:3,2:5,3:7,4:9,length:5};//伪数组
用JS遍历:
第一个参数,当前遍历到的元素;第二个元素,当前遍历到的索引;第三个参数,当前被遍历的数组
arr.map(function(value,index,array){
console.log(index,value,array);
});
obj.map(function(value,index,array){
console.log(index,value,array);
})//运行会报错,不能遍历伪数组
用jQuery遍历:
第一个参数,当前遍历到的数组(arr);第二个元素,每遍历一个元素之后,执行回调函数的参数(function);
$.map(arr,function(value,index){//function里,第一个是遍历内容元素,第二个是索引
console.log(index,value);
});
$.map(obj,function(value,index,array){//jQuery的map方法也可以遍历伪数组
console.log(index,value,array);
})
jQuery的each和map区别:
each,默认返回值:遍历谁就返回谁;不支持在回调函数里对遍历的数组进行处理
map:默认返回值是一个空数组;可以在回调函数里,通过return对遍历的数组进行处理
- 其他静态方法
3.1 trim(需要被处理的字符串),执行后返回一个去除了空格的字符串
作用:去除字符串两端的空格
var str = " mps ";
var res = $.trim(str);
console.log("---"+str+"---");
console.log("---"+res+"---");
控制台输出:
— mps —
—mps—
其他函数:
//真数组
var arr = [1.3.5.7.9];
//伪数组
var arrlike ={0:1,1:3,2:5,3:7,4:9,length:5};
//对象
var obj = {"name":"mps",age:"35"};
//函数
var fn = function(){};
//window对象
var w = window;
$.isWindow();
判断传入的是否是window对象
返回:true/false
var res = $.isWindow(w);
console.log(res);
$.isArray();
判断传入的是否是真数组
返回:true/false
$.isFunction();
判断传入的是否是一个函数
返回:true/false
jQuery本质上是一个函数:
(function (window,underfined){
})(window);
等同于:
(function test(){
})();
该函数的初始调用:
function test(){
}
test();
- holdReady方法
holdReady(true):暂停ready的执行
$.holdReady(true);
$(document).ready(function(){
alert("ready");
});
<body>
<button>回复ready事件</button>
</body>
var btn = document.getElementByTagName("button")[0];
btn.onclick = function(){
$.holdReady(false);
}
代码运行效果:点击Btn后,上面的js代码才会运行,弹出ready的提示窗口