- 直接定义一个匿名函数,并立即调用:
(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);
}
?