伪数组:
1.必须要有length属性
2.如果这个length的属性值是0,那么这个对象有没有元素无所谓
3.如果这个length的属性值不为0,那么这个对象一定头下标为(length-1)的属性值
列如:
伪装组:
var obj = { length: 0 }
var obj = { length: 4, 3: ‘a’ }; 没有0,1,2可以认为0,1,2存的是undefined
var obj = { length: 2, 0: ‘a’, 1: ‘b’ };
不是伪数组:
var obj = { length: 10, 0: ‘a’, 1: ‘b’, 2: ‘c’, 3: ‘d’, 4: ‘e’, 5: ‘f’ };因为没有下标为(length-1)的属性值
forEach:
原生js中的forEach只能遍历数组,不能遍历伪数组
格式:调用者.forEach(function(value,index,arry){});
forEach的参数是一个回调函数,回调函数的第一个参数为遍历到的元素值,第二个参数为当前遍历的索引,第3个参数为数组(可有可无) 代码如下示范:
arry.forEach(function( value,index){
alert(value);
});`
jquery中静态遍历数组的格式为:
$``.each(需要遍历的数组名,function(index,value){});
each()中第一参数为要遍历的数组,第二个参数为每次遍历之后要执行的回调函数,回调函数的参数第一个为当前便遍历的索引,第二个为遍历到的元素值
该静态方法既可以遍历数组又可以遍历伪数组
如下示范:
//遍历数组
$.each(obj,function( index,value){
console.log(index,value);
$.each(arry,function( index,value){
console.log(index,value);
})
var arry=[9,8,5,4,2,25];
var obj={0:1,1:3,2:5,3:7,4:9,length:5};//伪数组
map:
原生的map方法和原生的forEach方法一模一样
jquery中的map静态方法:
格式:
jquery中静态遍历数组的格式为:
$
.map(需要遍历的数组名,function(value,index){});
利用jquery的静态方法map遍历数组
第一个参数:要遍历的数组
第二个参数:每遍历一个元素之后执行的回调函数
回调函数的参数:
第一个参数:当前遍历到的元素
第二个参数:遍历到的索引
注意点:和jquery的each的静态方法一样,map静态方法也可以遍历伪数组
jquery中的each静态方法和map静态方的区别:
1.each静态方法默认的返回值就是,遍历谁就返回谁,map静态方法默认的返回值是一个空数组
2,each静态方法不支持在回调函数中对遍历的数组进行处理,map静态方法可以在回调函数中通过return对数组进行处理,然后返回一个新的数组
var res1=$.map(obj,function(value,index){
console.log(index,value);
return value+index;
});
var res2=$.each(obj,function( index,value){
console.log(index,value);
return value+index;
});
$.trm():
作用:去除字符串两端的空格
参数:需要去除空格的字符串
返回值:去除空格之后的字符串
$.isWindow();
作用:判断传入的对象是否是window对象
返回值:true/false
$.isArray();
作用:判断传入的对象是否是真数组
返回值:true/false
$.isFunction();
作用:判断传入的对象是否是一个函数
返回值:true/false
注意点:jquery框架本质是一个函数
/*
$.trm():
作用:去除字符串两端的空格
参数:需要去除空格的字符串
返回值:去除空格之后的字符串
*/
// var str=" ing ";
// var res=$.trim(str);
// console.log("---"+str+"---“);
// console.log("---"+res+"---“);
//真数组
var arr=[0,77,5,0,6,3];
//伪数组
var arrlike={0:1,1:3,2:5,3:7,4:9,length:5};
//对象
var obj={name:"垃圾",age:"89"};
//函数
var fn=function(){};
//window对象
var w=window;
/*
$.isWindow();
作用:判断传入的对象是否是window对象
返回值:true/false
*/
// var res=$.isWindow(w);
// console.log(res);
/*
$.isArray();
作用:判断传入的对象是否是真数组
返回值:true/false
*/
// var res=$.isArray(arr);
// console.log(res);
/*
$.isFunction();
作用:判断传入的对象是否是一个函数
返回值:true/false
注意点:jquery框架本质是一个函数
*/
var res=$.isFunction(jQuery);
console.log(res);