js 构造器

博客介绍了在JavaScript中向构造器添加新方法和属性的方式。向构造器添加新方法,可将方法写在构造器中,也可使用prototype;添加新属性同理,除写在构造器函数里,也能通过prototype实现,并给出了相应代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.与向已有对象添加新方法不同,您无法向构造器中添加新的方法。除非您把新的方法方法写在构造器中

function Person(firstName,lastName,age,eyeColor) {
  this.firstName = firstName;
  this.lastName = lastName;
  this.age = age;
  this.eyeColor = eyeColor;
  this.changeName = function (name) {
    this.lastName = name;
  }
}
// 创建 Person 对象
var myFriend = new Person("Bill","Gates",62,"green");

// 修改姓氏
myFriend.changeName("Jobs");

// 显示姓氏
document.getElementById("demo").innerHTML =
"My friend's last name is " + myFriend.lastName;

效果图

My friend's last name is Jobs

除了写在构造器函数中,还有一种办法

person.prototype.nationality="English"

2.向已有的对象添加新的属性不同。您无法向构造器中添加新的方法。除非添加到构造器函数中

// Person 对象的构造器函数
function Person(first, last, age, eye) {
  this.firstName = first;
  this.lastName = last;
  this.age = age;
  this.eyeColor = eye;
  this.nationality = "English";
}

// 创建两个 Person 对象
var myFriend = new Person("Bill", "Gates", 62, "blue");
var myBrother = new Person("Steve", "Jobs", 56, "green");

// 显示国籍
document.getElementById("demo").innerHTML =
"My friend is " + myFriend.nationality + ". My brother is " + myBrother.nationality; 

结果

My friend is English. My brother is English

除了写在构造器函数中,还有一种办法

person.prototype.name=function(){

   return this.firstName+"  "+this.lastName

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值