码迷,mamicode.com
首页 > 编程语言 > 详细

ECMA5数组的新方法forEach()模仿实现

时间:2015-11-02 22:37:53      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:

 1       var o = {
 2             forEach: function (callback) {
 3                // alert(this.length);
 4                 for (var i = 0, len = this.length; i < len; i++) {
 5                     callback && callback(this[i], i, this);
 6                 }
 7             },
 8             get length(){
 9                 var sum=0;
10                 for(var n in this) {
11                     sum+=1;
12                 }
13                 return sum;
14             }
15 
16         };
17         Object.defineProperty(o,"length",{enumerable:false});
18         Object.defineProperty(o,"forEach",{enumerable:false});
19         o[0] = 0;
20         o[1] = 1;
21         o[2] = 2;
22 
23         o.forEach(function(v,i,arr){
24             arr[i]=v+1;
25             console.log(arr[i]+"callback");
26         });

值得注意的是:

1.回调函数的使用

2.

defineProperty以及defineProperties函数的意义
这两个函数都可以定义对象属性的四大特性--值,可写性,可枚举性,可配置性

ECMA5数组的新方法forEach()模仿实现

标签:

原文地址:http://www.cnblogs.com/windSamW/p/4931482.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!