iT邦幫忙

DAY 8
4

JavaScript 三十參系列 第 8

JavaScript 三十參(8):for-in 迴圈

  • 分享至 

  • xImage
  •  

參與iT邦JavaScript中忍比賽,獲得一本JS武林祕級“JavaScript設計模式”,因而閉門修練月餘,今神功既成故節錄三十片段,以饗邦友。


for-in是用來重複整個非陣列物件,也稱為列舉法(enumeration)。

通常用for處理"陣列",用for-in處理重複"物件"。

要注意的是在列舉物件屬性時很重要的是:使用hasOwnProperty()來過濾掉原型(prototype)屬性。

來個範例看看:

var i,
    man = {
            hands : 2,
            legs : 2,
            heads : 1
          };

//在程式碼它處,加入clone()方法
if (typeof Object.prototype.clone === "underfined"{
	Object.prototype.clone = function(){};
};

接著用for-in來測試,有用hasOwnProperty來過濾

for (i in man){
	if (man.hasOwnProperty(i)){
		console.log(i , ":", man[i]);
	};
};

//console 結果
//hands:2
//legs:2
//leads:1

接著用for-in來測試,未使用hasOwnProperty來過濾

for (i in man){
	console.log(i , ":", man[i]);
};

//console 結果
//hands:2
//legs:2
//leads:1
//clone:function()

是否覺得「for-in 迴圈」也如同「for」 迴圈一樣地多樣化呢?今天咱就上到這裏,喝口茶趣~~~

待續.....

JavaScript 三十參(總整理)


上一篇
JavaScript 三十參(7):for 迴圈
下一篇
JavaScript 三十參(9):switch 模式
系列文
JavaScript 三十參30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
總裁
iT邦好手 1 級 ‧ 2012-10-16 16:16:34

筆記最近有點混....臉紅

ted99tw iT邦高手 1 級 ‧ 2012-10-16 18:21:45 檢舉

不要太自責,反正咱小囉囉一定要follow總裁的一舉一動滴~~~

我要留言

立即登入留言