Dat*_*sik 1 javascript prototype
我只是想为学习目的创建一个小框架,并且希望能够Array.prototype.forEach在对象上使用,这就是我现在所拥有的,
var data = { test: 'test' };
Array.prototype.forEach(data, function(key value) {
console.log(key);
});
Run Code Online (Sandbox Code Playgroud)
但是我得到一个错误,我确定你们可以看到原因,但是我不能:)所以任何帮助都将非常感谢
对象不是数组,并且无法访问数组原型。您可以仅遍历属性。
for(var key in data){
console.log(key) //or data[key] if you want the values
}
Run Code Online (Sandbox Code Playgroud)
关于下面的jQuery注释,似乎他们在内部为每个函数使用循环。从来源:
// args is for internal usage only
each: function( obj, callback, args ) {
var value,
i = 0,
length = obj.length,
isArray = isArraylike( obj );
if ( args ) {
if ( isArray ) {
for ( ; i < length; i++ ) {
value = callback.apply( obj[ i ], args );
if ( value === false ) {
break;
}
}
} else {
for ( i in obj ) {
value = callback.apply( obj[ i ], args );
if ( value === false ) {
break;
}
}
}
// A special, fast, case for the most common use of each
} else {
if ( isArray ) {
for ( ; i < length; i++ ) {
value = callback.call( obj[ i ], i, obj[ i ] );
if ( value === false ) {
break;
}
}
} else {
for ( i in obj ) {
value = callback.call( obj[ i ], i, obj[ i ] );
if ( value === false ) {
break;
}
}
}
}
return obj;
},
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3361 次 |
| 最近记录: |