久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

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

瀏覽:123日期: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
相關文章:
主站蜘蛛池模板: 肥乡县| 南丰县| 从江县| 朝阳区| 电白县| 修水县| 虎林市| 安新县| 诸暨市| 哈密市| 井研县| 铁岭市| 鄂伦春自治旗| 巨野县| 四子王旗| 中卫市| 张家口市| 钟祥市| 晋中市| 平舆县| 长汀县| 旅游| 巫溪县| 灵璧县| 天镇县| 定陶县| 封丘县| 长宁区| 珠海市| 宿迁市| 贵南县| 新津县| 凉山| 北安市| 铜山县| 张家港市| 江孜县| 德保县| 且末县| 周宁县| 宁国市|