前言
JavaScript创建对象的方式有很多,但无非就是使用内置对象或各种内置对象或各种自定义对象,也可以用JSON;写法有很多种,也能混合使用。下面来一一展示。不做叙述,全靠意会。
创建对象方法
一·对象字面量的方式
person = {firstname:"Mark",lastname:"Yun",age:25,eyecolor:"black"};
二·用function模拟无参的构造函数
function Person(){}
var person = new Person();
//定义一个function,如果使用new“实例化”,该function可以看作是一个class
person.name = "bahuang";
person.age = "999岁";
person.work = function(){
alert(person.name + "hello");
}
person.work();
三·用function来模拟参构造函数来实现
(用this关键字定义构造的上下文属性)
function Pe(name,age,hobby){
//this指向当前对象
this.name = name;
this.age = age;
this.hobby = hobby;
this.eat = function(){
alert("我叫"+this.name+"我喜欢"+this.hobby+",是个画家。");
}
}
var bahuang = new Pe("八荒",25,"drawing");//实例化,创建对象
bahuang.eat();
四·工厂方式(内置对象)
var immortal = new Object();
immortal.name = "八荒";
immortal.age = "999岁";
immortal.work = function(){
alert("我是"+immortal.name);
}
immortal.work();
五·原型
function Immortal(){};
Immortal.prototype.name = "八荒";
Immortal.prototype.eat = function(){
alert(this.name+"是个画家?");
}
var bahuang = new Immortal();
bahuang.eat();
六·混合方式
function Fruit(name,price){
this.name = name;
this.price = price;
}
Fruit.prototype.sell = function(){
alert(this.name+"现在卖"+this.price+"元!");
}
var cherry = new Fruit("樱桃",99);
cherry.sell();