Methods for Javascript to obtain objects: 1. Create an object's constructor through function; 2. Create an object through new; 3. Get the properties and methods defined directly on the object.
The operating environment of this article: windows7 system, javascript version 1.8.5, DELL G3 computer
How does Javascript obtain objects?
JavaScript Gets object properties and methods
1. Gets object properties and methods
Object.keys() Returns the enumerable value of the object Array of names of properties and methods.
Object.getOwnPropertyNames() Returns an array of all properties (enumerable or non-enumerable) found directly on the given object.
// 创建一个对象的构造方法 function myObj(name, attr) { this.name = name; this.attr = attr; this.sayHi = function () { return 'hi everyone!!!'; } } // 创建一个对象 var myTester = new myObj("shinejaie", 1) // 获取直接在对象上定义(可枚举)的属性和方法 var arr = Object.keys(myTester); console.log('arr', arr); // 输出 arr ["name", "attr", "sayHi"] // 返回的数组的所有属性(可枚举或不可枚举)直接找到给定对象。 console.log("attr", Object.getOwnPropertyNames(myTester)); // 输出 attr ["name", "attr", "sayHi"] // 在 Object 原型上增加一个属性 Object.prototype.newShine = "it's me"; // 返回可枚举属性一直找到该对象的原型链 for (var i in myTester) { console.log(i); } // 输出 name,attr,sayHi,newShine // 返回直接定义在该对象上的可枚举属性 for (var i in myTester) { if (myTester.hasOwnProperty(i)) { console.log(i); } } // 输出 name,attr,sayHi
2. Comparison of Object.keys(), Object.getOwnPropertyNames(), for...in...
// 不可枚举的对象属性 var nonenum = Object.create({}, { getFoo: { value: function () { return this.foo; }, enumerable: false } }); nonenum.foo = 1; nonenum.asj = 2; // 获取对象可枚举或不可枚举的属性 console.log(Object.getOwnPropertyNames(nonenum).sort()); // 输出 ["asj", "foo", "getFoo"] // 获取对象可枚举的属性 console.log(Object.keys(nonenum).sort()); // 输出 ["asj", "foo"] // 返回直接定义在该对象上的可枚举属性 for (var i in nonenum) { if (nonenum.hasOwnProperty(i)) { console.log(i); // 输出 foo asj } }
3. Obtain JavaScript object property names and method names respectively
// 创建一个对象的构造方法 function myObj(name, attr) { this.name = name; this.attr = attr; this.sayHi = function () { return 'hi everyone!!!'; } } // 创建一个对象 var myTester = new myObj("shinejaie", 1) // 获取对象方法 for (var i in myTester) { if (myTester.hasOwnProperty(i) && typeof myTester[i] == "function") { console.log("对象方法: ", i, "=", myTester[i]) } } // 输出 对象方法: sayHi = () { return 'hi everyone!!!'; } // 获取对象属性 for (var i in myTester) { if (myTester.hasOwnProperty(i) && typeof myTester[i] != "function") { console.log("对象属性: ", i); } } // 输出 对象属性: name 对象属性: attr
Recommended study: "javascript basic tutorial"
The above is the detailed content of How to get objects in Javascript. For more information, please follow other related articles on the PHP Chinese website!