Javascript创建自定义对象 创建Object实例添加属性和方法

下面是“Javascript创建自定义对象 创建Object实例添加属性和方法”的完整攻略。

创建自定义对象

在Javascript中,可以通过构造函数创建自定义对象。它是一种特殊的函数,可以用来创建具有特定属性和方法的对象。以下是创建自定义对象的示例代码:

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

  this.sayHi = function() {
    console.log("Hi, my name is " + this.name + " and I am " + this.age + " years old.");
  };
}

var person1 = new Person("Tom", 20);
console.log(person1.name); // 输出 "Tom"
person1.sayHi(); // 输出 "Hi, my name is Tom and I am 20 years old."

上述代码中,通过使用function关键字来创建名为Person的构造函数,该函数接受两个参数nameagethis关键字被用于引用新对象的属性nameagethis关键字是指当前对象的上下文。

注意,在上面的代码中,sayHi函数被直接定义和赋给了新创建的对象。这种方式的问题在于,每个新对象都会拥有一个独特的sayHi函数。这意味着,如果需要创建几千个具有相同方法的对象,那么将会消耗大量的内存。为此,需要使用Javascript的原型,它允许所有创建的对象共享同一个函数。以下是使用原型的代码:

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

Person.prototype.sayHi = function() {
  console.log("Hi, my name is " + this.name + " and I am " + this.age + " years old.");
};

var person1 = new Person("Tom", 20);
console.log(person1.name); // 输出 "Tom"
person1.sayHi(); // 输出 "Hi, my name is Tom and I am 20 years old."

上述代码中,sayHi方法被添加到Person函数的原型中,这意味着每个通过调用new运算符创建的对象都将共享这个方法。

添加属性和方法

可以使用Javascript中的点表示法和方括号表示法来向对象添加属性和方法。以下是代码示例:

var person = {};
person.name = "Tom"; // 使用点表示法
person['age'] = 20; // 使用方括号表示法

person.sayHi = function() {
  console.log("Hi, my name is " + this.name + " and I am " + this.age + " years old.");
};

person.sayHi(); // 输出 "Hi, my name is Tom and I am 20 years old."

上述代码中,首先创建一个空对象person,然后使用点表示法和方括号表示法向其添加两个属性nameage。最后,将一个名为sayHi的函数添加到对象person中,并调用它来输出相关内容。

另一种添加方法的方式是使用Javascript的原型。以下是代码示例:

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

Person.prototype.sayHi = function() {
  console.log("Hi, my name is " + this.name + " and I am " + this.age + " years old.");
};

var person1 = new Person("Tom", 20);
var person2 = new Person("John", 30);
console.log(person1.name); // 输出 "Tom"
person1.sayHi(); // 输出 "Hi, my name is Tom and I am 20 years old."
person2.sayHi(); // 输出 "Hi, my name is John and I am 30 years old."

上述代码中,sayHi方法被添加到Person的原型中,这意味着每个通过new关键字创建的对象都将共享这个方法。这种方法能够节省内存并降低代码的复杂性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Javascript创建自定义对象 创建Object实例添加属性和方法 - Python技术站

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

相关文章

  • 在html中引入外部js文件,并调用带参函数的方法

    下面是关于在HTML中引入外部JS文件并调用带参函数的完整攻略: 步骤一:准备JS文件和HTML文件 首先,我们需要准备一个包含带参函数的JS文件。例如,我们编写一个名为script.js的JS文件,其中包含以下代码: function greet(name) { console.log("Hello, " + name + "…

    JavaScript 2023年5月27日
    00
  • js常用节点操作实例总结

    “js常用节点操作实例总结”是一篇介绍JavaScript常见DOM操作的文章,用于指导开发者在前端页面开发中操作DOM元素,实现网页动态交互的效果。以下是完整的攻略: 1. 获取DOM节点 在JavaScript中,首先需要获取目标节点才能对它进行操作。常见的获取DOM节点的方法包括: 1.1 getElementById document.getElem…

    JavaScript 2023年6月10日
    00
  • 从vue-router看前端路由的两种实现

    从vue-router看前端路由的两种实现 前端路由是现代前端开发中非常重要的一部分,它实现了单页应用(SPA)的核心功能,目前主流的前端框架如Angular、React、Vue等都实现了自己的路由组件。其中,Vue框架中自带的路由组件vue-router是应用广泛的一种。在vue-router的实现中,涉及到两种不同的前端路由实现方式。下面我们分别来讲解一…

    JavaScript 2023年6月11日
    00
  • 深入浅析JavaScript中的Function类型

    让我们来深入浅析JavaScript中的Function类型。 1. Function类型介绍 在JavaScript中,Function类型是一等公民(first-class citizen)。这意味着你可以把函数赋值给变量,把函数作为参数传递给其他函数,以及把函数作为返回值。Function类型的实例是函数,可以像普通变量一样在代码中运用。 函数的创建 …

    JavaScript 2023年5月27日
    00
  • JavaScript中常用的验证reg

    下面是详细讲解“JavaScript中常用的验证reg”的完整攻略。 正则表达式简介 正则表达式是一种描述性的语言,用于描述字符的模式匹配的规则。它通常被用于搜索、替换操作以及表单验证等场景中。 JavaScript中的正则表达式被表示为一个正则表达式对象,可以通过RegExp()构造函数创建。正则表达式对象包括一个模式和一些标记,用于指定匹配的方式。 基本…

    JavaScript 2023年6月10日
    00
  • OpenTiny 跨端、跨框架组件库升级TypeScript,10万行代码重获新生

    摘要:一份精心准备的《JS项目改造TS指南》文档供大家参考,顺便介绍TS 基础知识和 TS 在 Vue 中的实践。 本文分享自华为云社区《历史性的时刻!OpenTiny 跨端、跨框架组件库正式升级 TypeScript,10 万行代码重获新生!》,作者:Kagol。 根据 The Software House 发布的《2022 前端开发市场状态调查报告》数据…

    JavaScript 2023年4月17日
    00
  • 使用JavaScript获取URL中的参数(两种方法)

    当我们需要从URL中获取特定的参数时,JavaScript是一个非常方便的工具。在JavaScript中,我们可以使用两种方法来获取URL中的参数: 方法一:使用正则表达式 JavaScript中的RegExp对象可用于匹配字符串中的模式。我们可以定义一个正则表达式来匹配URL中的参数,然后从匹配结果中提取出我们需要的参数。 以下是我们可以使用的正则表达式:…

    JavaScript 2023年6月10日
    00
  • js创建对象的方法汇总

    JS创建对象的方法汇总 1. 工厂模式 function createPerson(name, age, gender) { var obj = new Object(); obj.name = name; obj.age = age; obj.gender = gender; obj.sayName = function() { console.log(t…

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