1、构造函数:
是一个函数,是通过new运算符进行调用,生成一个特殊的对象并返回。
function 函数名([参数]){
this.属性名 = ‘属性值’
...
this.属性名 = function([参数]){
函数体语句
}
}
通常情况下,建议构造函数的首字母大写
2、构造函数的使用:
(1)使用new调用构造函数,每new一次,就会在内存中分配一块新的存储空间来存放对象
(2)给构造函数传递不同的参数,可以动态的改变对象的属性值
3、构造函数和普通函数的区别:调用方式不同
(1)构造函数:通过new运算符调用
(2)普通函数:直接调用
4、在使用new运算符调用构造函数后,js执行的具体操作
(1)在内存中创建一个对象
(2)将构造函数内部的this指向该对象
(3)执行构造函数内部的代码
(4)将新对象返回
5、this:js在每次调用函数时,都会传递一个隐含的参数this
(1)以普通函数方式调用时,this指向window
function fun(){console.log(this)
}
fun();
(2)以对象、函数名的方式调用时,this指向调用函数的对象
let obj = {fun:function(){console.log(this);}
}
obj.fun();
(3)以构造函数方式调用时,this指向新创建的对象
function Person(name,age,sex){this.name = name,this.age = age,this.sex = sex,this.show = function(){// console.log(this.name,this.age,this.sex)
}console.log(this)
}
let person1 = new Person('小王',20,'男');
person1.show();