javascript – for … in循环和jQuery each()函数有什么区别?

前端之家收集整理的这篇文章主要介绍了javascript – for … in循环和jQuery each()函数有什么区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用以下脚本来迭代对象(我不知道哪一个最好用,请告诉我哪一个是最好的):
  1. var days = {Sunday: 0,Monday: 1,Tuesday: 2,Wednesday: 3,Thursday: 4,Friday: 5,Saturday: 6};
  2.  
  3. $.each(days,function(key,value){
  4. $('#days').append('<li>' + key + '(' + value + ')</li>');
  5. });
  6.  
  7.  
  8. for(var key in days){
  9. $('#days').append('<li>' + key + '(' + days[key] + ')</li>');
  10. }

解决方法

无论哪种方式,你应该缓存该选择器:
  1. var elem = $( '#days' );
  2. $.each(days,value){
  3. elem.append('<li>'+key+'('+value+')</li>');
  4. });

在这种情况下,.each()会更好.图案更清洁.

使用for循环,你需要使用obj.hasOwnProperty(key),这样你就不会通过继承的属性进行挖掘…这会增加另一层缩进:

  1. var elem = $( '#days' );
  2. for( var key in days ){
  3. if( days.hasOwnProperty( key ) ){
  4. elem.append('<li>'+key+'('+days[key]+')</li>');
  5. }
  6. }

猜你在找的jQuery相关文章