JavaScript 对象构造器

admin2年前 (2023-07-05)it知识481
function Person(first, last, age) {
      this.firstName = first;
      this.lastName = last;
      this.age = age;
}

提示:用大写字母对构造器函数命名时个好习惯

这里的函数就是对象构造器函数。

通过new 关键词调用构造器函数可以创建相同类型的对象:

var myFather = new Person("tom","gate","36");
var myMother = new Person("jane","jobs","30");

this 的值,在对象中使用时,就是对象本身。

在构造器函数中,this是没有值的,它时新对象的替代物。当一个新对象被创建时,this的值会成为

这个新对象。

this不是变量,它是关键词,无法改变this的值

对对象添加属性

myFather.nationality = "USA";

这样新属性就被添加到myFather中了

对对象添加方法

myFather.name = function () {
   return this.firstName + " " + this.lastName;
}

对构造器添加属性

person.nationality = "English";

调用时是undefined

如需向构造器添加一个新属性,必须添加到构造器函数中

function Person(first, last, age) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.nationality = "USA"; //添加新属性
    this.name = function() {return this.firstName + " " + this.lastName;}; //添加新函数
     this.changeName = function (name) {
        this.lastName = name;
    }; // 也可以通过添加新函数修改属性
}

比如:myMother.changeName("tian");

通过 myMother 替代this,Javascript可以获知目前处理的那个person

内建的javascript 构造器

var x1 = new Object();     // 一个新的Object对象
var x2 = new String();     // 一个新的String对象    
var x3 = new Number();  // 一个新的Number对象    
var x4 = new Boolean();   // 一个新的Boolean对象    
var x5 = new Array();    // 一个新的Array对象    
var x6 = new RegExp();   // 一个新的RegExp对象    
var x7 = new Function();   // 一个新的Function对象    
var x8 = new Date();     // 一个新的Date对象

Math() 对象不再此列。Math 属于全局对象。new 关键字不可用于Math。

可以使用简洁的字面量方法,速度更快。

var x1 = {};      // 新对象
var x2 = "";     // 新的原始字符串
var x3 = 0;       // 新的原始值
var x4 = false;    // 新的原始逻辑值
var x5 = [];     // 新的数组对象
var x6 = /()/;    // 新的正则表达式对象
var x7 = function(){};   // 新的函数对象


标签: JavaScript

相关文章

electorn是什么

关于electron有以下信息:Electron 是一款可以使用 JavaScript、HTML 和 CSS 来构建跨平台桌面应用程序的开源框架,它可以让开发者使用 web 技术来创建原生应用程序。E...

JavaScript Set

JavaScript的Set(集合)是一组唯一值的集合。每个值只能在Set中出现一次。Set可以容纳任何数据类型的值。如何创建Set将数组传递给new Set()创建一个新的Set, 然后使用add(...

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是Web前端开发的基础语言,用于创建动态交互性和用户界面。它可以直接在浏览器中运行,使得开发者可以快速构建和部署Web应用程序...

发表评论

访客

看不清,换一张

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