Object.keys 函数 (JavaScript)

Object.keys 函数 (JavaScript)

返回对象的可枚举属性和方法的名称。

在实际开发中,我们有时需要知道对象的所有属性,原生js给我们提供了一个很好的方法:Object.keys(),该方法返回一个数组

传入对象,返回属性名

var obj = {‘a‘:‘123‘,‘b‘:‘345‘};
console.log(Object.keys(obj));  //[‘a‘,‘b‘]

var obj1 = { 100: "a", 2: "b", 7: "c"};
console.log(Object.keys(obj1)); // console: ["2", "7", "100"]

var obj2 = Object.create({}, { getFoo : { value : function () { return this.foo } } });
obj2.foo = 1;
console.log(Object.keys(obj2)); // console: ["foo"]

时间: 2024-10-25 19:28:47

Object.keys 函数 (JavaScript)的相关文章

Object.defineProperty 函数 (JavaScript)

将属性添加到对象,或修改现有属性的特性. 语法 Object.defineProperty(object, propertyname, descriptor) 参数 object 必需.  要在其上添加或修改属性的对象.  这可能是一个本机 JavaScript 对象(即用户定义的对象或内置对象)或 DOM 对象. propertyname 必需.  一个包含属性名称的字符串. descriptor 必需.  属性描述符.  它可以针对数据属性或访问器属性. 返回值 已修改对象. 备注 可使用 

Object.create函数

语法 Object.create(prototype, descriptors) 参数 prototype 必需.  要用作原型的对象.  可以为 null. descriptors 可选.  包含一个或多个属性描述符的 JavaScript 对象. "数据属性"是可获取且可设置值的属性.  数据属性描述符包含 value 特性,以及 writable.enumerable 和 configurable 特性.  如果未指定最后三个特性,则它们默认为 false.  只要检索或设置该值

javascript中 for in 、for 、forEach 、for of 、Object.keys().

一 .for ..in 循环 使用for..in循环时,返回的是所有能够通过对象访问的.可枚举的属性,既包括存在于实例中的属性,也包括存在于原型中的实例.这里需要注意的是使用for-in返回的属性因各个浏览器厂商遵循的标准不一致导致对象属性遍历的顺序有可能不是当初构建时的顺序.(实例+原型中的可枚举属性) 1.遍历数组 虽然for..in主要用于遍历对象的属性,但同样也可以用来遍历数组元素. 2:for..in和for遍历数组时下标类型不一样 var colors = ['red', 'gree

[Effective JavaScript 笔记]第31条:使用Object.getPrototypeOf函数而不要使用__proto__属性

ES5引入Object.getPrototypeOf函数作为获取对象原型的标准API,但由于之前的很多js引擎使用了一个特殊的__proto__属性来达到相同的目的.但有些浏览器并不支持这个__proto__属性,所以并不是完全兼容的.例如对于拥有null原型的对象,不同的环境结果就不同了. var empty=Object.create(null); '__proto__' in empty;//一些环境会返回false,另一些会返回true 这就导致结果的不一致,从而影响到依赖这个判断的相关

object.getPrototypeOf函数(javascript)

返回对象的原型. 语法 Object.getPrototypeOf(object) 参数 object 必需.引用原型的对象. 返回值 object 参数的原型.原型也是对象. 异常 如果 object 参数不是对象,则将引发 TypeError 异常. function Pasta(grain, width) { this.grain = grain; this.width = width; } var spaghetti = new Pasta("wheat", 0.2); var

理解Object.defineProperty函数中的get与set

defineProperty是什么: 该函数可以直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象.通俗理解就是: 给对象添加一个新的属性,或者针对对象里的某些属性,可以给这个属性设置一些特性,比如是否只读,是否可以被for..in或Object.keys()遍历等 语法: Object.defineProperty(obj, prop, descriptor) 例如: var obj = {}; Object.defineProperty(obj, "key"

for in 与 Object.keys 与 hasOwnProperty区别

1.结论 for in遍历对象所有可枚举属性 包括原型链上的属性 Object.keys遍历对象所有可枚举属性 不包括原型链上的属性 hasOwnProperty 检查对象是否包含属性名,无法检查原型链上是否具有此属性名 2.示例代码 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <meta name="viewport

Object.keys() 遍历对象

Object.keys()方法的运用与数组遍历 Object.keys()用于获得由对象属性名组成的数组,可与数组遍历相结合使用,用起来效果杠杠滴.数组遍历可以用for()或forEach()来实现,forEach()方法是ECMAScript5定义的遍历数组的一个新方法,按照索引的顺序挨个传递给定义的函数:接下来就Object.keys()分别结合for()和forEach()使用进行运用,用console.log输出到控制台,代码如下: 1.for() //创建对象var person =

Object.keys(),Object.values(),Object.entries()

Object.keys(),Object.values(),Object.entries() Object.keys() ES5 引入了Object.keys方法,返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键名. var obj = { foo: 'bar', baz: 42 }; Object.keys(obj) // ["foo", "baz"] ES2017 引入了跟Object.keys配套的Object.val