在javascript中,现阶段我们可以采用三种方式创建对象(object)
1. 利用字面量创建对象
let obj = {
name:'刘德华',
age: 18,
sex:'男',
sing:function(){
console.log('123')
}
2. 利用new Object创建对象
let obj = new Object()
obj.name= '刘德华'
obj.age=18
obj.sing=function(){
console.log('123')
}
3. 利用构造函数创建对象
function Star(uname, age, sex) {
this.name = uname;
this.age = age;
this.sex = sex;
this.sing = function(sang) {
console.log(sang);
}
}
let ldh = new Star('刘德华', 18, '男');
4.利用prototype原型方式
function Student(){
Student.prototype.name = 'Tom'
Student.prototype.sing=function(){
consloe.log('唱歌')
}
}
let student = new Student()
student.sing()
构造函数中new关键字的执行过程
- new构造函数可以在内存中创建一个空的对象
- this会指向这个空对象
- 执行构造函数里面的代码,给这个空对象添加属性和方法
- 返回这个对象(所以构造函数里不需要return)