JS创建对象的四种方式

以下是“JS创建对象的四种方式”的完整攻略:

1. 对象字面量

对象字面量是一种最简单的对象创建方式,就是直接在代码中书写一个对象。具体格式如下:

let obj = {
  key1: 'value1',
  key2: 'value2',
  key3: function() {
    console.log('this is a method');
  }
}

其中,对象中的属性值可以是任意类型,甚至是函数。可以通过 '.' 或 '['']' 访问对象中的属性和方法。

obj.key1; // 'value1'
obj['key2']; // 'value2'
obj.key3(); // 'this is a method'

2. 构造函数模式

构造函数模式指的是使用构造函数来创建对象,通过创建实例对象来创建新的对象。具体格式如下:

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

let p1 = new Person('Jack', 26);
let p2 = new Person('Tom', 25);

其中,Person 就是一个构造函数,然后通过 new 操作符来创建实例。这里的 this 指向的是每个实例对象本身。

3. 原型模式

原型模式指的是共享一个原型对象,所有实例对象共享该原型对象上的属性和方法。具体格式如下:

function Person() {}

Person.prototype.name = 'Jack';
Person.prototype.age = 26;
Person.prototype.sayName = function() {
  console.log(this.name);
}

let p1 = new Person();
let p2 = new Person();
p1.sayName(); // 'Jack'
p2.sayName(); // 'Jack'

其中,Person 就是一个构造函数,Person.prototype 是一个原型对象,可以向其中添加属性和方法,然后通过 new 操作符来创建实例。这里的 this 指向的是该实例对象本身,在实例找不到对应属性或方法时,它会到该实例的原型对象上找。

4. 组合模式

组合模式是原型模式和构造函数模式的组合,既可以共享原型对象的属性和方法,也可以给每个实例对象添加自己的属性和方法。具体格式如下:

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

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

let p1 = new Person('Jack', 26);
let p2 = new Person('Tom', 25);

在这里,我们既在构造函数中给实例对象添加了属性和方法,又在原型对象上添加了属性和方法,既可以让每个实例对象的属性和方法独立,又可以共享实例对象的属性和方法。

至此,我们完成了“JS创建对象的四种方式”的完整攻略。

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

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

相关文章

  • 原生JS查找元素的方法(推荐)

    原生JS查找元素的方法(推荐) 在前端开发中,我们经常需要对页面中的元素进行操纵和操作,因此查找元素的能力显得尤为重要。下面是一些原生JS查找元素的方法,推荐使用这些方法来获取页面中的元素。 1. getElementById方法 getElementById方法可以根据DOM元素的id属性来获取一个元素。下面是一个示例: var myElement = d…

    JavaScript 2023年6月10日
    00
  • 禁止弹窗中蒙层底部页面跟随滚动的几种方法

    请看以下完整攻略。 背景 在做弹窗时,通常会有蒙层的效果,以防止用户误点击背景操作。但是,这时候出现了一个问题,就是在弹窗出现的时候,蒙层底部的页面也跟着滚动了。影响了用户体验。因此,需要解决这个问题。 解决方案 在这里提供几种解决方案,可以根据实际情况选择其中一种或多种方法。 方案一:禁止body滚动 body { overflow: hidden; } …

    JavaScript 2023年6月11日
    00
  • 详解微信小程序胶囊按钮返回|首页自定义导航栏功能

    下面是详解微信小程序胶囊按钮返回|首页自定义导航栏功能的完整攻略: 一、胶囊按钮返回 微信小程序提供了一个叫做胶囊按钮的组件,位于小程序右上角,它包含了小程序的图标和名称,并且还具备返回功能。我们可以使用它来方便地返回上一个页面,以下是实现方法: 首先,在页面的顶部布局一个用于显示胶囊按钮的容器: <!– wxml –> <view c…

    JavaScript 2023年6月11日
    00
  • js+数组实现网页上显示时间/星期几的实用方法

    让我为您详细解释一下,如何使用 js+数组实现网页上显示时间/星期几的实用方法。 1. 获取时间 我们可以使用 Date() 方法获取到当前时间对象,然后使用 getDate(), getMonth(), getFullYear(), getHours(), getMinutes(), getSeconds() 方法获取到相应的时间数据。将这些数据组合起来即…

    JavaScript 2023年5月27日
    00
  • JavaScript 过滤关键字

    下面是关于“JavaScript 过滤关键字”的完整攻略。 什么是JavaScript过滤关键字? JavaScript过滤关键字是指通过编程技术对指定的文本进行匹配,过滤掉所包含的不允许出现的关键字,通常用于过滤用户提交的数据,防止网站受到攻击或者输入非法数据。 如何实现JavaScript过滤关键字? 1.使用JavaScript的字符串方法 JavaS…

    JavaScript 2023年5月28日
    00
  • js split 的用法和定义 js split分割字符串成数组的实例代码

    下面是关于JS的split函数的详细讲解: 定义 split是JavaScript中的字符串方法,可以将一个字符串分割成一个字符串数组。分割的标准可以是一个固定字符串,也可以是一个正则表达式。返回的字符串数组包含原始字符串中分割出的子字符串。 用法 split方法的语法格式如下: str.split(separator,limit) 参数说明: separa…

    JavaScript 2023年5月28日
    00
  • BootStrap+Mybatis框架下实现表单提交数据重复验证

    首先,我们需要明确一下实现表单提交数据重复验证的基本思路。我们可以在页面上的表单中增加一个校验码字段,每次提交时,先检测校验码,若校验码匹配成功则将表单数据保存至数据库,否则提示用户“数据已存在”。 下面是实现表单提交数据重复验证的完整攻略: 一、创建数据库表 我们可以先创建一个名为user的数据库表,用来存储用户表单提交数据。以下是该表的基本结构: CRE…

    JavaScript 2023年6月10日
    00
  • 酷炫jQuery全屏3D焦点图动画效果

    下面是 “酷炫jQuery全屏3D焦点图动画效果”的完整攻略: 1. 确定需求 在开始编写代码之前,首先需要明确你所要实现的功能和效果,比如,该全屏3D焦点图所需达成的效果,是否需要自动播放滚动、是否需要左右切换、是否需要鼠标移入暂停等。 2. 界面设计 在明确需求之后,需要设计和制作该全屏3D焦点图的样式和界面。重点要考虑的是,如何将图片排列在屏幕上,如何…

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