返回對象本身(非原型繼承的屬性)的屬性名稱,包括函數。 html
方法: 瀏覽器
Object.getOwnPropertyNames(object); 函數
Object.keys(object); this
參數: spa
object,若是不是object類型,則引起TypeError異常。 code
例子: htm
'use strict'; (function(){ if(!Object.getOwnPropertyNames){ console.log('瀏覽器不支持getOwnPropertyNames'); return; } //人類的構造函數 var person = function(name, age, sex){ this.name = name; this.age = age; this.sex = sex; this.sing = function(){ console.log('sing'); } } //new 一個ladygaga var gaga = new person('ladygaga', 26, 'girl'); //給嘎嘎發放一個不可枚舉的身份證 Object.defineProperty(gaga, 'id', { value : '1234567890', enumerable : false }); //查看gaga的我的信息 var arr = Object.getOwnPropertyNames(gaga); document.write(arr); //output: name,age,sex,sing,id document.write('</br>'); //注意和getOwnPropertyNames的區別,不可枚舉的id沒有輸出 var arr1 = Object.keys(gaga); document.write(arr1); //output: name,age,sex,sing })();
上面的例子說明了Object.getOwnPropertyNames和Object.keys的區別,即Object.keys只適用於可枚舉的屬性,而Object.getOwnPropertyNames返回對象自動的所有屬性名稱。 對象
IE六、七、8不支持 blog
轉載:http://www.cnblogs.com/chollaflower/archive/2013/07/20/3203210.html 繼承