国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

JS對象屬性的檢測與獲取操作實例分析

瀏覽:131日期:2024-05-16 15:53:35

本文實例講述了JS對象屬性的檢測與獲取操作。分享給大家供大家參考,具體如下:

1.1 in運算符

in運算符用于檢查對象是否包含某個屬性(注意,檢查的是鍵名,不是鍵值), 如果包含就返回true,否則返回false

var obj = { p: 1 }’p’ in obj // true’toString’ in obj // true

上面代碼中,obj對象上有一個p屬性,所以使用in運算符時,得到true,但toString并沒有在obj對象上,為什么也返回true呢,這是因為in運算符,不能識別哪些屬性是對象自身的,哪些是繼承的。因為toString是繼承自obj的原型對象,所以會返回true。

1.2 for … in 循環

for … in 循環用來遍歷一個對象的全部屬性。

var obj = {a: 1, b: 2, c: 3};for (var i in obj) { console.log(obj[i]);}

for … in 循環有兩個使用注意點

它遍歷的是對象所有可遍歷的屬性,會跳過不可遍歷的屬性。 它不僅遍歷對象自身的屬性,還遍歷繼承的屬性。

如果想得到自身的屬性,需要結合hasOwnProperty方法,在循環內部判斷一下,某個屬性是否為對象自身的屬性。

var person = { name: ’老張’ };for (var key in person) { if (person.hasOwnProperty(key)) { console.log(key); }}

想要得到自身的屬性還有另外兩種方法:

es5:

利用Object.getOwnPropertyNames(obj)

var person = { name: ’老張’ }var props = Object.getOwnPropertyNames(person)

es6:

利用Object.keys(obj)

var person = { name: ’老張’ }var props = Object.keys(person)

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 阿尔山市| 大名县| 林西县| 华蓥市| 河津市| 龙州县| 思茅市| 青龙| 嵊泗县| 临安市| 岳普湖县| 开鲁县| 奈曼旗| 祁连县| 桓台县| 临泉县| 四子王旗| 太仆寺旗| 昂仁县| 华安县| 文昌市| 江川县| 彩票| 青浦区| 武鸣县| 隆昌县| 白水县| 宝山区| 吉林市| 衢州市| 洪泽县| 蓝田县| 海丰县| 辉南县| 吉木萨尔县| 丘北县| 海盐县| 酒泉市| 齐齐哈尔市| 突泉县| 郧西县|