1、示例
构造函数:
function Person(name,age){
this.name = name;
this.age = age;
this.sayHi = function() {
console.log(`My name is ${this.name},I'm${this.age}`)
}
}
let p1 = new Person('xx', 12)
p1.sayHi(); // My name is xx,I'm 12.
普通函数:
function person(name,age){
this.name = name;
this.age = age;
this.sayHi = function() {
console.log(`My name is ${this.name},I'm${this.age}`)
}
}
person('zz', 13)
person.sayHi(); // My name is zz,I'm 13.
2、区别
- 构造函数
1、 一般首字母大写
2、通过关键字new来调用
3、函数名既是函数名又是对象类名
4、会创建一个新对象,并将此对象作为返回值
-普通函数
1、首字母小写
2、直接调用即可
3、只是一个函数,函数内部没有返回值,则会返回undefined
3、调用构造函数会执行哪些动作
1、会创建一个新的对象
2、并且改变this的指向,指向这个新对象
3、执行函数中代码
4、若函数没有返回值或者返回值为基本数据类型,则会返回这个新建的对象