JavaScript 创建对象

yizhihongxing

下面是 JavaScript 创建对象的完整攻略:

1. 对象创建方式

JavaScript 有三种创建对象的方式:

1.1. Object 构造函数方式

使用 Object 构造函数创建对象时,需要通过 new 操作符创建一个对象实例。

let obj = new Object();
obj.name = '张三';
obj.age = 18;

1.2. 对象字面量方式

对象字面量方式是最常见的对象创建方式,它使用花括号 {} 来定义对象。

let obj = {
  name: '张三',
  age: 18
};

1.3. 构造函数方式

使用构造函数方式创建对象时,需要定义一个构造函数,并通过 new 操作符创建一个对象实例。

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

let obj = new Person('张三', 18);

2. 原型与原型链

在 JavaScript 中,每个对象都有一个原型(prototype),可以将原型看做一个模板,用来定义对象的属性和方法。当访问对象的属性或方法时,如果对象本身没有该属性或方法,则会去原型中查找。

如果一个对象的原型又指向了另一个对象的原型,那么就形成了一个原型链(prototype chain)。

通过原型链,一个对象可以访问到其他对象的属性和方法。

示例代码:

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

// 在 Person.prototype 上添加方法
Person.prototype.sayHi = function() {
  console.log('大家好');
}

let obj = new Person('张三', 18);

// 调用 obj 的 sayHi 方法,由于 obj 没有该方法,所以会在 obj 的原型上查找,即 Person.prototype
obj.sayHi(); // 输出 "大家好"

3. 继承方式

在 JavaScript 中,可以使用原型链来实现继承,也可以使用 ES6 中引入的 class 关键字来实现继承。

3.1. 使用原型链实现继承

使用原型链实现继承时,可以通过让一个构造函数的原型指向另一个构造函数的实例来实现。

示例代码:

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

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

// 让 Student.prototype 的原型指向 Person.prototype,就实现了继承
Student.prototype = new Person();

let obj = new Student('张三', 18, 1);

console.log(obj.name); // 输出 "张三"
console.log(obj.age); // 输出 18
console.log(obj.grade); // 输出 1

3.2. 使用 ES6 中的 class 实现继承

ES6 中引入了 class 关键字,可以更加方便地实现继承。

示例代码:

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

class Student extends Person {
  constructor(name, age, grade) {
    super(name, age);
    this.grade = grade;
  }
}

let obj = new Student('张三', 18, 1);

console.log(obj.name); // 输出 "张三"
console.log(obj.age); // 输出 18
console.log(obj.grade); // 输出 1

以上就是 JavaScript 创建对象的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript 创建对象 - Python技术站

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

相关文章

  • 详解javascript中的Error对象

    详解JavaScript中的Error对象 在JavaScript编程中,出错是常有的事情。为了更好地调试JavaScript代码,以及了解错误的类型和信息,JavaScript提供了Error对象来捕获和处理运行时的错误。 Error对象简介 Error对象是JavaScript的内置对象之一,它是个通用的错误对象,所有错误类型的实例都继承自该对象。 在J…

    JavaScript 2023年5月27日
    00
  • 如何在 Vue 中使用 JSX

    当我们使用Vue框架开发的时候,我们通常会使用Vue模板语法来构建用户界面。但是在某些情况下,我们可能需要使用JSX来构建用户界面。JSX提供了更好的可读性和可维护性,并且可以直接使用原生JavaScript语法。下面是如何在Vue中使用JSX的完整攻略: 1. 安装依赖 首先,我们需要安装vue和babel-plugin-jsx两个依赖: npm inst…

    JavaScript 2023年6月10日
    00
  • javascript小技巧 超强推荐第1/5页

    接下来我将为你详细讲解“javascript小技巧 超强推荐第1/5页”的完整攻略。 简介 这篇攻略讲的是 JavaScript 中的一些小技巧,旨在帮助开发者更加高效地编写代码。本攻略共分为5个部分,本篇讲解第1/5页的内容。 数组合并 在 JavaScript 中,我们常常需要将两个或多个数组合并成一个新数组。常规的方法是使用循环或者concat()函数…

    JavaScript 2023年5月18日
    00
  • JavaScript去除空格的三种方法(正则/传参函数/trim)

    当我们处理用户输入时,常常需要处理输入字符串中的空格。在JavaScript中,有三种常用的方法可以去除字符串中的空格:正则表达式、传参函数和trim方法。 1. 使用正则表达式去除空格 在字符串中,所有空格字符都可以通过正则表达式/\s/g匹配。我们可以使用replace方法来将字符串中的空格字符替换为需要的字符或者直接删除。例如,以下两种方法均可以将字符…

    JavaScript 2023年6月10日
    00
  • JavaScript实现获取img的原始尺寸的方法详解

    我来详细讲解“JavaScript实现获取img的原始尺寸的方法详解”的完整攻略。 一、背景说明 在开发网页中,经常需要获取 img 标签的原始尺寸,以便进行响应式布局或者图片的合理展示。对于这种需求,我们可以使用 JavaScript 来获取 img 标签的原始尺寸,本文将介绍几种实现方式。 二、addEventListener 方法 addEventLi…

    JavaScript 2023年6月11日
    00
  • 纯Javascript实现ping功能的方法

    实现 “Ping” 功能,即测试主机之间的可靠性和延迟,可以使用 JavaScript 中的 XMLHttpRequest 对象来实现。 步骤1:创建 XMLHttpRequest 对象 var xhr = new XMLHttpRequest(); 步骤2:绑定事件处理程序 因为 XMLHttpRequest 对象基于异步操作,所以我们需要将其用于“pin…

    JavaScript 2023年5月28日
    00
  • JavaScript 中定义函数用 var foo = function () {} 和 function foo()区别介绍

    JavaScript 中定义函数有两种常用的方式:使用函数表达式(function expression)和函数声明(function declaration)。在使用函数表达式时,可以使用 var 声明一个变量并赋值为函数,也可以使用 function 关键字直接定义函数。那么 var foo = function () {} 和 function foo…

    JavaScript 2023年5月27日
    00
  • JavaScript中子对象访问父对象的方式详解

    下面我来详细讲解“JavaScript中子对象访问父对象的方式详解”。 1. 使用this关键字 在JavaScript中,this关键字表示当前对象。使用this关键字可以访问当前对象的属性和方法,也可以通过this关键字访问当前对象的父对象。假设我们有一个如下的对象,其中包含子对象: let parentObj = { name: "父对象&q…

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