我使用以下脚本来迭代对象(我不知道哪一个最好用,请告诉我哪一个是最好的):
var days = {Sunday: 0,Monday: 1,Tuesday: 2,Wednesday: 3,Thursday: 4,Friday: 5,Saturday: 6}; $.each(days,function(key,value){ $('#days').append('<li>' + key + '(' + value + ')</li>'); }); for(var key in days){ $('#days').append('<li>' + key + '(' + days[key] + ')</li>'); }
解决方法
无论哪种方式,你应该缓存该选择器:
var elem = $( '#days' ); $.each(days,value){ elem.append('<li>'+key+'('+value+')</li>'); });
在这种情况下,.each()会更好.图案更清洁.
使用for循环,你需要使用obj.hasOwnProperty(key),这样你就不会通过继承的属性进行挖掘…这会增加另一层缩进:
var elem = $( '#days' ); for( var key in days ){ if( days.hasOwnProperty( key ) ){ elem.append('<li>'+key+'('+days[key]+')</li>'); } }