JavaScript 对象构造器

admin2年前 (2023-07-05)it知识713
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是没[章]有值的,它时新对象的替代物。[来]当一个新对象被创建时,thi[自]s的值会成为

这个新对象。

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,Javascr[道]ipt可以获知目前处理的那个[,]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

相关文章

javascript 数组

什么是数组?数组是一个特殊的变量,它能够一次存放一个以上的值。如果你有一个项目清单,在单个变量中存储品牌,那应该是这样字的:var brand1 = "Saab...

JavaScript 对象定义

在JavaScript 中,对象是王。如果你理解了对象,就理解了javascript。在Javascript 中,几乎所有事物都是对象。 布尔是对象(如果用new 关键词定义)数字是对象(如...

JavaScript Set

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

vue-router导航守卫

vue-router的导航守卫可以用来在路由跳转过程中添加自定义逻辑,例如验证、权限控制、重定向等。导航守卫可以分为三种:全局导航守卫、路由独享守卫和组件内的守卫1。全局导航守卫可以使用router....

JavaScript可以应用在哪些领域?

JavaScript的应用领域非常广泛,包括但不限于以下领域:网站开发:这是JavaScript最常用的领域之一,可以用于实现前端逻辑、动态特效、表单验证、导航栏、交互性等功能。移动开发:通过结合HT...

发表评论

访客

看不清,换一张

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