JavsScript 一些技巧方法
- 直接定义一个匿名函数,并立即调用:
(function(){
//TODO:
}());
说明:function之前的左圆括号是必需的,如果不写这个,JavaScript解析器会试图将关键字function解析为函数声明语句。
- 迭代方法(every、fileter、forEach、map、some)
2.1:every 和 some
var number = [1,2,3,4,5,4,3,2,1];
var everyResult = number.every(function(item,index,array){
return (item > 2);
});
alert(everyResult); //false
说明:every()方法和some()方法类似,every方法必需全部满足给定的条件才会返回 True,而Some 部分满足即返回 True。
2.2:filter 和 map
var number = [1,2,3,4,5,4,3,2,1];
var filterResult = number.filter(function(item,index,array){
return (item > 2);
});
alert(filterResult); //[3,4,5,4,3] 返回的是一个符合给定条件的数组
map 和 fileter 类似,filte 需要给定一个条件,但是 map 需要的是一个表达式:
var number = [1,2,3,4,5,4,3,2,1];
var mapResult = number.map(function(item,index,array){
return (item * 2);
});
alert(mapResult); //[2,4,6,8,10,8,6,4,2] 返回的是一个经过表达式计算的数组
2.3 最常用的 forEach :
var numbers = [1,2,3,4,5,4,3,2,1];
numbers.forEach(function(item,index,array){
//TODO:
});
3.枚举对象的属性 for-in
for(var propName in my_object){
alert(propName);
}
for-in也可以用来遍历数组下标(索引):
for(i in my_array){
console.log(i);
}