你的位置:首页 > Java教程

[Java教程]JavaScript 获取对象的键的数组


Object.keys 返回对象的可枚举属性和方法(对像的直接属性,不从原型上继承)的名称
Object.keys 是ECMAScript5里的一个特性,这意味着它在所有现代浏览器工作,但不会在旧浏览器工作。
语法:Object.keys(object)
参数:object,必需,包含属性和方法的对象。
返回:一个数组,包含对象直接在对象上定义的属性和方法的名称的。
 1 // 创建一个对象的构造方法 2 function myObj(name, attr) { 3   this.name = name; 4   this.attr = attr; 5  6   this.sayHi = function () { 7     return 'hi everyone!!!'; 8   } 9 }10 11 // 创建一个对象12 var myTester = new myObj("shinejaie", 1)13 // 获取直接在对象上定义(不从原型上继承)的属性和方法14 var arr = Object.keys(myTester);15 console.log('arr', arr);16 17 // 输出:18 // arr ["name", "attr", "sayHi"]19 20 // 在 Object 原型上增加一个属性21 Object.prototype.newShine = "it's me";22 23 // 测试一24 var arr1 = Object.keys(myTester);25 console.log('arr1', arr1);26 // 输出:27 // arr1 ["name", "attr", "sayHi"]28 29 // 测试二30 for (var i in myTester) {31   console.log(i);32 }33 // 输出34 // name,attr,sayHi,newShine35 36 // 测试三37 for (var i in myTester) {38   if (myTester.hasOwnProperty(i)) {39     console.log(i);40   }41 }42 // 输出43 // name,attr,sayHi