日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript中Object.keys、Object.getOwnPropertyNames区别

發布時間:2025/3/11 javascript 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript中Object.keys、Object.getOwnPropertyNames区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

定義

Object.keys

定義:返回一個對象可枚舉屬性的字符串數組;

Object.getOwnPropertyNames

定義:返回一個對象可枚舉、不可枚舉屬性的名稱;

?

屬性的可枚舉性、不可枚舉性

定義:可枚舉屬性是指那些內部 “可枚舉” 標志設置為 true 的屬性,對于通過直接的賦值和屬性初始化的屬性,該標識值默認為即為 true,對于通過 Object.defineProperty 等定義的屬性,該標識值默認為 false。

?

例子

var obj = { "prop1": "v1" }; Object.defineProperty(obj, "prop2", { value: "v2", writable: false }); console.log(Object.keys(obj).length); //output:1 console.log(Object.getOwnPropertyNames(obj).length); //output:2 console.log(Object.keys(obj)); //output:Array[1] => [0: "prop1"] console.log(Object.getOwnPropertyNames(obj)); //output:Array[2] => [0: "prop1", 1: "prop2"]

?

內置的判斷,訪問和迭代方法

功能可枚舉可枚舉、不可枚舉
判斷 propertyIsEnumerable ?in/hasOwnProperty
訪問?Object.keys?Object.getOwnPropertyNames
迭代?for..in..?Object.getOwnPropertyNames

?

?

?

?

?

?

?

?

實戰

var obj = { "prop1": "v1" }; Object.defineProperty(obj, "prop2", { value: "v2", writable: true });console.log(obj.hasOwnProperty("prop1")); //output: true console.log(obj.hasOwnProperty("prop2")); //output: true console.log(obj.propertyIsEnumerable("prop1")); //output: true console.log(obj.propertyIsEnumerable("prop2")); //output: false console.log('prop1' in obj); //output: true console.log('prop2' in obj); //output: truefor (var item in obj) {console.log(item); } //output:prop1for (var item in Object.getOwnPropertyNames(obj)) {console.log(Object.getOwnPropertyNames(obj)[item]); } //ouput:[prop1,prop2]

?

相關鏈接

Object.hasOwnProperty()
Object.propertyIsEnumerable()
Object.getOwnPropertyNames()
Object.keys()

屬性的可枚舉性和所有權?

?

總結

以上是生活随笔為你收集整理的JavaScript中Object.keys、Object.getOwnPropertyNames区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。