标签:
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函数的意义
这两个函数都可以定义对象属性的四大特性--值,可写性,可枚举性,可配置性
标签:
原文地址:http://www.cnblogs.com/windSamW/p/4931482.html