JavaScript 对象的属性和方法4种不同的类型

JavaScript对象是一种包含属性和方法的数据结构。在JavaScript中,对象属性和方法有4种不同的类型。

1. 数据属性

数据属性是最简单的属性类型。它是对象的一个简单属性,通常被用来存储数据。数据属性有以下特征:

  • value:属性值
  • writable:是否可写(true | false)
  • enumerable:是否可枚举(true | false)
  • configurable:是否可配置(true | false)

下面是一个示例:

var obj = {
  name: 'ZhangSan',
  age: 20
}

console.log(obj.name); // 输出 'ZhangSan'

2. 访问器属性

访问器属性不包含数据值,而是包含getter和setter方法。getter方法负责读取属性值,setter方法负责写入属性值。访问器属性有以下特征:

  • get:获取方法
  • set:设置方法
  • configurable:是否可配置(true | false)
  • enumerable:是否可枚举(true | false)

下面是一个示例:

var obj = {
  firstName: 'Zhang',
  lastName: 'San',
  get fullName() {
    return this.firstName + ' ' + this.lastName;
  },
  set fullName(value) {
    var names = value.split(' ');
    this.firstName = names[0];
    this.lastName = names[1];
  }
};

console.log(obj.fullName); // 输出 'Zhang San'
obj.fullName = 'Li Si';
console.log(obj.firstName); // 输出 'Li'
console.log(obj.lastName); // 输出 'Si'

3. 继承属性

继承属性是从原型链继承的属性。它们不是在对象自身定义的,而是在其原型对象上定义的。继承属性可被所有对象实例共享。继承属性无法通过delete操作符删除,只能通过覆盖其值来隐藏。

下面是一个示例:

function Person(name, age) {
  this.name = name;
  this.age = age;
}

Person.prototype.sayName = function() {
  console.log(this.name);
}

var person1 = new Person('ZhangSan', 20);
var person2 = new Person('LiSi', 22);

person1.sayName(); // 输出 'ZhangSan'
person2.sayName(); // 输出 'LiSi'

在上面的例子中,sayName方法是在Person的原型对象上定义的,而不是在每个对象实例上定义的。这意味着所有Person对象实例都共享这个方法。

4. 内置属性

内置属性是JavaScript语言自带的属性。这些属性通常是指ECMA规范定义的方法。例如Object.prototype.toString()方法,它用于返回对象本身的字符串表示。

下面是一个示例:

var arr = [1, 2, 3];

console.log(arr.toString()); // 输出 '1,2,3'

在上面的例子中,toString()方法是内置属性,它可以将数组转换为字符串。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript 对象的属性和方法4种不同的类型 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • 利用jsonp解决js读取本地json跨域的问题

    解决JS读取本地JSON跨域的问题,通常需要使用JSONP技术。JSONP是一种跨域技术,利用标签的src属性不受同源策略限制,可以跨域请求数据。下面我将为大家演示利用JSONP来解决JS读取本地JSON跨域的问题的完整攻略。 什么是JSONP JSONP,全称为JSON with Padding,是一种跨域技术,利用了\标签不受同源策略限制的特性,可以跨域…

    JavaScript 2023年5月27日
    00
  • 说说JSON和JSONP 也许你会豁然开朗

    那我来给您详细讲解一下如何理解JSON和JSONP。 什么是JSON? JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它使用易于人们阅读和编写的文本格式来传输和存储数据。JSON可以使用JavaScript函数eval()进行解析。 JSON格式由键值对构成,最外层是一个大括号({})形成的对象,键值对之间使用逗…

    JavaScript 2023年6月11日
    00
  • Javascript Date constructor 属性

    以下是关于JavaScript Date对象的constructor属性的完整攻略。 JavaScript Date对象的constructor属性 JavaScript Date对象的constructor属性返回对创建该对象的构造函数的引用。该属性可用于检查对象是否为Date类型。 下面是使用Date对象的constructor属性的示例: var da…

    JavaScript 2023年5月11日
    00
  • Java关键字之this用法详解

    Java关键字之this用法详解 1. 简介 this 是 Java 语言中的一个关键字,表示当前对象,一般情况下指代的是当前实例。在 Java 中大量使用 this 引用。 this 可以用来调用一个类的构造函数,也可以用来调用类成员变量或成员方法。 2. this 用法 2.1. 用于调用类的构造函数 在 Java 中, this 可以用于引用一个类的构…

    JavaScript 2023年5月19日
    00
  • JavaScript使用Math.random()生成简单的验证码

    生成验证码是网站开发中常见的需求之一,通过JavaScript的Math.random()方法可以生成随机数,进而生成简单的验证码。下面是一个完整的攻略,会详细讲解生成验证码的步骤以及两条示例说明。 生成验证码的步骤 1. 定义生成验证码的函数 在JavaScript中,可以通过函数来生成验证码。我们可以定义一个名为generateCode的函数,该函数可返…

    JavaScript 2023年5月28日
    00
  • JS实现的数字格式化功能示例

    下面是对“JS实现的数字格式化功能示例”的完整攻略。 1. 什么是数字格式化 数字格式化是指将数字按照一定的格式进行展示,常见的有添加千位分隔符、保留小数位数、转换货币等。JavaScript中提供了一些内置函数和方法来实现数字格式化功能。 2. 添加千位分隔符 有时我们需要将较大的数字添加千位分隔符,方便观察和读取。在JavaScript中,可以使用toL…

    JavaScript 2023年5月28日
    00
  • javascript写的日历类(基于pj)

    这里是“javascript写的日历类(基于pj)”的完整攻略。 说明 这是一篇关于使用PJ写的Javascript日历类的攻略,PJ是一种Javascript的类库,它能简化Javascript日历类的编写过程,也更加易于管理、维护日历类。在这篇攻略中,我将介绍如何使用PJ来编写日历类,包括其基本用法和关键代码。以下是两个简单的示例,分别展示了日历类的基本…

    JavaScript 2023年5月27日
    00
  • JS对象与json字符串相互转换实现方法示例

    下面是JS对象与JSON字符串相互转换的完整攻略。 什么是JSON? JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它是由Douglas Crockford提出的。JSON采用了类似于JavaScript对象的格式来存储和传递数据,因此JSON在JavaScript程序中得到了广泛使用。 JS对象与JSON字符串…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部