JavaScript ES5 对象方法

admin2年前 (2023-07-08)it知识654

ECMAScript 5 (2009) 向 JavaScript 添加了许多新的对象方法。

管理对象

// 以现有对象为原型创建对象Object.create()//添加或更改对象属性Object.defineProperty(object, property, descriptor)//添加或更改对象属性Object.defineProperties(object, descriptors)//访问属性Object.getOwnPropertyNames(object)//以数组返回所有属性Object.getOwnPropertyNames(object)//访问原型Object.getPrototypeOf(object)//以数组返回可枚举属性Object.keys(object)

保护对象


//防止向对象添加属性Object.preventExtensions(object)//如果属性可以添加到对象,则返回trueObject.isExtensible(object)//防止更改对象属性(不是值)Object.seal(object)//如果对象被密封,则返回trueObject.freeze(object)//如果对象被冻结,则返回trueObject.isFrozen(object)

更改属性值

const person = {  firstName: "Bill",  lastName: "Gates",  language: "EN"};//修改属性Object.defineProperty(person, "language", {value: "NO"});Object.defineProperty(person, "language", {enumerable: false});  Object.keys(person) //返回可枚举属性的数组 这时就少了language.

更改元数据

ES5允许更改一下属性元数据[文]

writable: true // 属性值可更改 or false 不更改 

enumerable: true //属性可枚举or false 不更改 

configurable: true //属性可重新配置 or false 不更改 

一个计数器实例:

//定义对象const  obj = {counter:0};//定义setterObject.defineProperty(obj, "reset", {get: function(){ this.counter = 0;  }});Object.defineProperty(obj, "increment", {get: function(){ this.counter++;  }});Object.defineProperty(obj, "decrement", {get: function(){ this.counter--;  }});Object.defineProperty(obj, "add", {set: function(value){ this.counter += value;  }});Object.defineProperty(obj, "subtract", {set: function(value){ this.counter -= i;  }});//操作计算器obj.reset;obj.add = 5;obj.subtract = 1;obj.increment;obj.decrement;


标签: JavaScript

相关文章

JavaScript 对象构造器

function Person(first, last, age) {       this.fi...

JavaScript Map

Map 保存键值对,其中键可以是任何数据类型。Map会记住键的原始插入顺序。Map提供表示映射大小的属性。如何创建Map 可以通过以下方式创建Javascript 映射:将数组传递给new...

Vue 报错error:0308010C:digital envelope routines::unsupported 解决方案

Error: error:0308010C:digital envelope routines::unsupported出现这个错误是因为 node.js V17版本中最近发布的OpenSSL3.0,...

JavaScript可以应用在哪些领域?

JavaScript的应用领域非常广泛,包括但不限于以下领域:网站开发:这是JavaScript最常用的领域之一,可以用于实现前端逻辑、动态特效、表单验证、导航栏、交互性等功能。移动开发:通过结合HT...

javascript 数据类型

在Javascript中有8种基本的数据类型(译注:7种原始类型和1种引用类型)。我们可以将任何类型的值存入变量。例如,一个变量可以在前一刻是字符串,下一刻就存储一个数字:let messa...

如何学习前端编程

学习前端编程需要掌握的内容很多,下面是一些详细的建议:学习基础的编程语言和开发工具:前端编程常用的编程语言包括HTML、CSS和JavaScript,需要掌握这些语言的语法和常用的标签、属性、函数等。...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。