创建对象的三种方式
- 利用对象字面量创建对象
- 利用new Object创建对象
- 利用构造函数创建对象
利用对象字面量创建对象
<script>
var obj = {
uname:'张三',
age:18,
sex:'男',
sayHi:function(){
console.log('hi~');
}
}
console.log(obj.uname);//张三
console.log(obj['age']);//18
obj.sayHi();//hi~
</script>
利用new Object创建对象
<script>
//利用 = 赋值的方法 添加对象的属性和方法
var obj = new Object();//创建空对象
obj.uname = '李四';
obj.sayHi = function(){
console.log('hi~');
}
console.log(obj.uname);//李四
obj.sayHi();//hi~
</script>
利用构造函数创建对象
<script>
function Star(uname,age,sex){//构造函数名首字母大写
this.name = uname;
this.age = age;
this.sex = sex;
this.sing = function(sang){
console.log(sang);
}
}
var zxc = new Star('周星驰',18,'男');//调用函数返回的是一个对象
console.log(typeof zxc);//object
console.log(zxc.name);//周星驰
zxc.sing('我是中国人');//我是中国人
</script>
构造函数和对象的区别
- 构造函数:抽象了对象的公共部分,封装到了函数里面,泛指某一大类(class)
- 创建对象:特指某一个,通过new关键字创建对象的过程称为对象实例化
new关键字的执行过程
- new 构造函数可以在内存中创建一个新的空对象
- 让this指向这个新对象
- 执行构造函数里面代码,给新对象添加属性和方法
- 返回这个新对象