1、下面两种方式是创建对象的两种基本方式,他们的原型就是 Object

【1】创建一个 Object 实例
1
2
3
4
5
6
7
8
9
10
var person = new Object();
person.name = "rose";
person.age = 18;
person.job = "actor";

person.sayName = function () {
console.log(this.name);
};

console.log(person);
【2】对象字面量
1
2
3
4
5
6
7
8
9
10
11
var person = {
name: "rose",
age: 18,
job: "actor",

sayName: function () {
console.log(this.name);
},
};

console.log(person);

2、在前端开发中,经常需要定义JS类。那么在JavaScript中,定义类的方式有几种,分别是什么呢?本文就JS定义类的六中方式说明如下(案例说明):

【1】工厂方式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function Car(){
var ocar = new Object();
ocar.color = “blue”;
ocar.doors = 4;

ocar.showColor = function(){
document.write(this.color)
};

return ocar;
}

var car1 = Car();
var car2 = Car();

调用此函数时将创建新对象,并赋予它所有的属性和方法。使用此函数可以创建2个属性完全相同的对象。

当然可以通过给它传递参数来改版这种方式。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function Car(color,door){
var ocar = new Object;
ocar.color = color;
ocar.doors = door;

ocar.showColor = function(){
document.write(this.color)
};
return ocar;
}

var car1 = Car(“red”,4);
var car2 = Car(“blue”,4);
car1.showColor() //output:”red”
car2.showColor() //output:”blue”

从上面代码中我们可以看出来,工厂模式实际上就是借助函数,内部返回使用第一种方式( new Object())创建的对象。

优点:可以很方便的创建相似对象。

缺点:没有解决对象识别的问题,即怎样知道一个对象的类型。

https://www.jb51.net/article/84089.htm

https://www.jb51.net/article/202218.htm

https://www.cnblogs.com/linququ/p/8733079.html