什么是构造函数那,是函数失散多年的亲兄弟?就凭构造函数和函数相比,多两个字,构造就很牛?
构造函数(构造器,对象模板)
构造函数特点:
- 构造函数时对象中的一个方法,在实例化时构造器被调用
- 构造函数最主要的作用:创建对象
- 构造函数的属性:对象的变量,定义时使用this关键字
- 构造函数的方法: 与属性相似,方法是一个函数,定义时用this关键字
创建构造函数(模板):
<script>
/*
创建构造函数(类的概念) - 用于创建对象(属性和方法)
function 构造函数名称(){
this.属性名 = 属性值;
this.方法名 = function(){
方法体
}
*this关键字 -> 指代利用当前构造函数创建的对象
*/
</script>
实践是检验真理的唯一标准。 ---- 马克思 · 恩格斯
我们来实践一下:
<script>
function Flowers (){
this.name = '玛卡巴卡';//属性
this.says = function(){ //方法
console.log('晚安,玛卡巴卡');
}
}
//利用构造函数创建对象
var flowers = new Flowers();
console.log(flowers);
</script>
- 构造函数相比函数:函数是写死的,而构造函数可以传参,是灵活的:
<script>
//传参的构造函数,相比函数具有灵活性
function Number (name){//接收参数
this.name = name;
this.says = function(){
console.log ('我是' + name);
}
}
//利用构造函数创建对象
var number = new Number('大帅');//创建对象并传参
number.says();//调用方法
</script>