学习笔记——JavaScript(二):类的创建并添加属性和方法

咱们可以通过以下方式创建一个类并为之添加属性或者方法:

var Book = function (name, price){
	this.name = name;
	this.price = price
}

为类添加属性或者方法有两种形式,一是为原型对象属性一一赋值,二是将一个对象赋值给类的原型对象。例如:

Book.prototype.title = function(){
	// something TODO
}
// 或者
Book.prototype = {
	title: function(){
		// something TODO
	}
}

使用功能方法时需要new关键词来实例化新的对象,使用点语法来访问属性或者方法。例如:

var book = new Book('JS', 100);
console.log(book.price); // 100

然而有时候可能实例化时忘记加new关键词,可以改造一下创建类的方法如下:

var Book = function(name, price) {
	// 判断this是否是当前对象(如果是说明是通过new创建的)
	if (this instanceof Book) {
		this.name = name;
		this.price = price;
		// 否则重新创建这个对象
	} else {
		return new Book(name, price)
	}
}

var book1 = new Book('JS', 100);
console.log(book1.price); // 100
// 这样即使实例化的时候忘记new代码也能正常运行。
var book2 = Book('CSS', 50);
console.log(book2.price); // 50
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

遇见小美好

每一笔打赏都见证了你的努力💪

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值