如何创建对象
创建对象的四种方法 : 1、字面量创建 2、new Object() 3、工厂模式 4、自定义构造函数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>创建对象的四种方法</title>
</head>
<body>
</body>
<script>
/*
创建对象的四种方法 :
1、字面量创建
2、new Object()
3、工厂模式
4、自定义构造函数
*/
// 1、字面量创建
var car = {
color: '黑色',
name: '奔驰',
run: function () {
console.log(this.name + '可以跑');
}
}
console.log(car.name); // 奔驰
console.log(car.color); // 黑色
car.run(); // 奔驰可以跑
// 2、new Object()
var phone = new Object()
phone.name = '华为';
phone.color = '白色';
phone.call = function () {
console.log(this.name + '可以打电话');
}
console.log(phone.color); // 白色
console.log(phone.name); // 华为
phone.call(); // 华为可以打电话
// 3、工厂创建
function creatPhone(name, color) {
var phone = new Object()
phone.name = name;
phone.color = color;
phone.call = function () {
console.log(this.name + '可以打电话');
}
return phone;
}
var phone1 = creatPhone('小米', '红色')
console.log(phone1.name);
phone1.call();
// 4、 自定义构造函数
function Phone(name, color, play) {
this.name = name
this.color = color
this.play = play
this.call = function () {
console.log(this.name + '可以打电话');
}
}
var phone1 = new Phone('小米', '黑色', function () { console.log(this.name + '可以打游戏'); })
phone1.play();
console.log(phone1.__proto__ == Phone.prototype);
</script>
</html>