JS对象常见的三种创建方式 1.工厂模式 1.1使用方式将创建对象的复杂步骤封装到函数中。 1.2优点可以很方便的创建很多对象 1.3缺点无法判断创建出来的对象的类型 1.4代码[JavaScript] 纯文本查看 复制代码
function createPerson(name,age){
var obj = new Object();
obj.name = name;
obj.age = age;
return obj;
}
var p1 = createPerson("jack",14);
console.log(p1.name+":"+p1.age);
2.构造函数模式2.1使用方式1.使用function定义构造方法 2.构造函数的首字母必须大写,用来区分于普通函数 3.内部使用的this操作属性和行为 4.使用new来生成实例对象 2.2优点可以很容易区分使用构造函数创建出来的对象的数据类型 2.3缺点所有的实例对象都可以继承构造函数中的属性和方法,但是同一个实例之间,无法共享属性。 2.3代码[AppleScript] 纯文本查看 复制代码
function Person(name,age){
this.name = name;
this.age = age;
}
var p1 = new Person("jack",13);
console.log(p1.name+":"+p1.age);
console.log(p1.constructor == Person);
3.原型模式 3.1使用方式语法:构造函数名.prototype.属性/方法 = 值 3.2优点同一个对象实例之间,可以共享属性 3.3缺点 所有的方法和属性都被共享 3.4代码[AppleScript] 纯文本查看 复制代码
function Person(name,age){
this.name = name;
this.age = age;
}
Person.prototype.address = "北京";
var p1 = new Person("jack",14);
var p2 = new Person("rose",14);
console.log(p1.address);
console.log(p2.address);
|