创建对象的四种方式
字面量
new Object()
工厂模式
构造函数
字面量
var car = {
color: '黑色',
name: '奔驰',
run: function () {
console.log(this.name + '可以跑');
// return this.name + '可以跑'
}
}
console.log(car);
console.log(car.color);
console.log(car.run());
car.run()
new Object()
var phone = new Object()
phone.name = '华为';
phone.size = 10;
phone.cell = function () {
console.log(this.name + '可以打电话');
}
console.log(phone.name);
phone.cell()
工厂模式
function createPhone(name, size, play) {
var phone = new Object()
phone.name = name;
phone.size = size;
phone.cell = function () {
console.log(this.name + '可以打电话');
}
phone.play = play
return phone
}
var phone1 = createPhone('小米', 12, function () { console.log(this.name + '可以打游戏'); })
console.log(phone1);
console.log(phone1.name);
phone1.play()
构造函数
function Phone(name, size, play, say) {
this.name = name
this.size = size
this.play = play
this.cell = function () {
console.log(this.name + '可以打电话');
}
this.say = say
}
var phone2 = new Phone('苹果', 16, function () { console.log(this.name + '可以玩游戏'); }, function () { console.log('say'); })
console.log(phone2);
console.log(phone2.name);
console.log(phone2.size);
phone2.cell()
phone2.play()
phone2.say()
function fn() {
console.log('测试');
}