js中的面向对象

        JavaScrip是一门动态的,弱类型,基于原型的脚本语言。在JavaScrip中“一切皆对象”,虽然与主流的面向对象的概念大相径庭,但是在JavaScrip中,一切都是对象!只不过JavaScrip中,这一点更为彻底一些,甚至用以表达逻辑的函数/代码本身也是对象,比如代码本身可以作为参数传递给其他的代码。    
     var arry =[1,2,3,4,5];
     arry.map(function(item){
        return item*2;
     });
    运行结果如下:
[2,4,6,8,10]
 数组array中有5个元素,每个元素是一个数字。数组的map方法会接受一个匿名函数,这样对于数组中的每个元素,都会调用这个匿名函数(返回元素乘以2的值),最后把结果放入数组。有意思的是此处的map,它可以接受函数作为参数。map函数可以处理更为复杂的场景,比如数组中的每个元素都是一个复杂对象。
 var staff=[
     {name:'abruzzi',age:24},
     {name:'bajmine',age:261},
     {name:'chari',age;25}
];
staff.map(function(item){
    return item.name.toUpperCase();
 });
 运行结果如下:
['ABRUZZI','BAJMINE','CHRIS']
         在上例中,map用以将数组staff中的每个元素的name属性取出,转换为大写字母,并为生成新的数组,而将对于那些不关心的其他属性(比如此处的age)排除在结果集之外。另一个例子是与map很类似的函数,用以过滤数组中满足某些条件的元素,filter的使用方法与map一样,也是受一个函数。   
staff.filter(function(item){
  return item.age>24;
});
 这样结果中仅包含age大于24的条目。
[
{name:'bajmine',age:26},
{name:'chris',age:25}
]
 这两个例子中,可以看到函数可以像其他任何数据类型(字符串,数字)那样,被轻易地传递给其他函数。在javaScript中一切都是对象。

猜你喜欢

转载自2806814127.iteye.com/blog/2302080