JavaScript中關(guān)鍵字 in 的使用方法詳解
for-in循環(huán)應(yīng)該用在非數(shù)組對(duì)象的遍歷上,使用for-in進(jìn)行循環(huán)也被稱為“枚舉”。
對(duì)于數(shù)組 ,迭代出來的是數(shù)組元素 但不推薦,因?yàn)椴荒鼙WC順序,而且如果在Array的原型上添加了屬性,這個(gè)屬性也會(huì)被遍歷出來,所以
最好數(shù)組使用正常的for循環(huán),對(duì)象使用for-in循環(huán)
對(duì)于對(duì)象 ,迭代出來的是對(duì)象的屬性;
var obj = {
"key1":"value1",
"key2":"value2",
"key3":"value3"
};
function EnumaKey(){
for(var key in obj ){
alert(key);
}
}
function EnumaVal(){
for(var key in obj ){
alert(obj[key]);
}
}
javascript中in關(guān)鍵字還有下面的作用
定義:
in操作符用來判斷某個(gè)屬性屬于某個(gè)對(duì)象,可以是對(duì)象的直接屬性,也可以是通過prototype繼承的屬性。
var Fn = function () { this.age = 1; };
Fn.prototype.name = 'jim';
// Fn.prototype.age = undefined;
var f = new Fn();
// hasOwnProperty
// 如何判斷屬性是被繼承的???
console.log( 'age' in f && !f.hasOwnProperty( 'age' ) );
// age 可能存在原型鏈上, 也可能不存在
// 如果屬性值就是 null 或 undefined, 那么此時(shí) f.age 就無法判斷了
對(duì)于一般的對(duì)象屬性需要用字符串指定屬性的名稱
如:
var mycar = {make: "Honda", model: "Accord", year: 1998};
"make" in mycar // returns true
"model" in mycar // returns true
如果你使用delete操作符刪除了一個(gè)屬性,再次用in檢查時(shí),會(huì)返回false,如:
var mycar = {make: "Honda", model: "Accord", year: 1998};
delete mycar.make;
"make" in mycar; // returns false
var trees = new Array("redwood", "bay", "cedar", "oak", "maple");
delete trees[3];
3 in trees; // returns false
如果你把一個(gè)屬性值設(shè)為undefined,但是沒有使用delete操作符,使用in檢查,會(huì)返回true.
var mycar = {make: "Honda", model: "Accord", year: 1998};
mycar.make = undefined;
"make" in mycar; // returns true
var trees = new Array("redwood", "bay", "cedar", "oak", "maple");
trees[3] = undefined;
3 in trees; // returns true
以上所述是小編給大家介紹的JavaScript中關(guān)鍵字 in 的使用方法詳解,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Bootstrap的Carousel配合dropload.js實(shí)現(xiàn)移動(dòng)端滑動(dòng)切換圖片
這篇文章主要介紹了bootstrap的Carousel配合dropload.js實(shí)現(xiàn)移動(dòng)端滑動(dòng)切換圖片,實(shí)現(xiàn)方法非常簡(jiǎn)單,具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03
TypeScript?中使用?getter?和?setter的方法
這篇文章主要介紹了TypeScript?中如何使用?getter?和?setter,?getter使我們能夠?qū)傩越壎ǖ皆谠L問屬性時(shí)調(diào)用的函數(shù),而?setter?將屬性綁定到在嘗試設(shè)置屬性時(shí)調(diào)用的函數(shù),需要的朋友可以參考下2023-04-04
微信小程序調(diào)用騰訊地圖API文檔JavaScript?SDK和WebService?API詳細(xì)解讀
本文介紹了如何使用騰訊位置服務(wù),包括申請(qǐng)開發(fā)者密鑰、獲取小程序APPID、下載地圖SDK、設(shè)置服務(wù)器域名白名單等步驟,詳細(xì)說明了如何在微信小程序中集成騰訊位置服務(wù),進(jìn)行地圖展示和周邊搜索等功能的實(shí)現(xiàn),同時(shí)提醒注意API的調(diào)用次數(shù)和權(quán)限限制,需要的朋友可以參考下2024-09-09
簡(jiǎn)體中文轉(zhuǎn)換繁體中文(實(shí)現(xiàn)代碼)
本篇文章主要是對(duì)簡(jiǎn)體中文轉(zhuǎn)換繁體中文的實(shí)現(xiàn)代碼進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-12-12
js實(shí)現(xiàn)rem自動(dòng)匹配計(jì)算font-size的示例
本篇文章主要介紹了js實(shí)現(xiàn)rem自動(dòng)匹配計(jì)算font-size的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11
70+漂亮且極具親和力的導(dǎo)航菜單設(shè)計(jì)國(guó)外網(wǎng)站推薦
網(wǎng)站可用性是任何網(wǎng)站的基本要素,而可用的導(dǎo)航更是網(wǎng)站所必需的要素之一。導(dǎo)航?jīng)Q定了用戶如何與網(wǎng)站進(jìn)行交互。如果沒有了可用的導(dǎo)航,那么網(wǎng)站內(nèi)容就會(huì)變得毫無用處。2011-09-09
cocos2dx+lua實(shí)現(xiàn)橡皮擦功能
這篇文章主要為大家詳細(xì)介紹了cocos2dx+lua實(shí)現(xiàn)橡皮擦功能,類似刮刮樂效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12

