构造函数就好像一个小型工厂,能够创造无数类似的对象
我们看到构造函数,很像是返回对象的函数,定义后,每当需要创建新对象时都可调用它
如何创建构造函数
现在我们试着创建一个构造函数用于创建一个小狗对象
function Dog(name,weight){
this.name = name;
this.weight = weight;
}
我们还可以在构造函数中定义方法
function Dog(name,weight){
this.name = name;
this.weight = weight;
this.bark= function(){
alert('wang wang !')
}
}
你可能注意到这几点:
- 构造函数和普通函数定义看起来区别不大,只是一般把构造函数名称首字母大写,
- 括号中的形参就是为小狗对象提供的属性
- 构造函数内部并没有局部变量,而使用的是this
- 构造函数没有返回值
如何使用构造函数
var wangcai = new Dog('wangcai',20);
为创建小狗实例对象,我们需要用到new运算符,然后调用构造函数Dog并指定实参,这样就完成了实例对象的创建
构造函数工作的原理是什么呢?
var wangcai = new Dog('wangcai',20);
拿上面这个作例子,执行过程可以分解为以下几个步骤:
- new创建一个空的对象
- new设置this,并指向新创建的对象
- 调用Dog,并将实参传入函数
- 执行构造函数代码,Dog给新创建的this对象的属性赋值
- 运算符new会返回this(指向新创建的对象的引用)
- 将返回的指向新对象的引用赋给变量wangcai
最后 🙌
好啦,以上就是我本次分享的全部内容啦,如果你觉得我的文章对你有一丢丢帮助,那么请不要吝啬你的赞👍哦,阿门~
网友评论