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() car2.showColor()
|
从上面代码中我们可以看出来,工厂模式实际上就是借助函数,内部返回使用第一种方式( new Object())创建的对象。
优点:可以很方便的创建相似对象。
缺点:没有解决对象识别的问题,即怎样知道一个对象的类型。
https://www.jb51.net/article/84089.htm
https://www.jb51.net/article/202218.htm
https://www.cnblogs.com/linququ/p/8733079.html