1. 程式人生 > >JavaScript 常見建立物件的方式

JavaScript 常見建立物件的方式

JavaScript 有哪幾種建立物件的方式?

 

 

javascript建立物件簡單的說,無非就是使用內建物件或各種自定義物件,當然還可以用JSON;但寫法有很多種,也能混合使用。


(1)物件字面量的方式

person={firstname:"Mark",lastname:"Yun",age:25,eyecolor:"black"};

 

(2)用function來模擬無參的建構函式function Person(){}

 


var person = new Person(); //定義一個function,如果使用new"例項化",該function可以看作是一個Class


person.name = "Xiaosong";
person.age = "23";
person.work = function() {
alert("Hello " + person.name);
}
person.work();

 

(3)用function來模擬參建構函式來實現(用this關鍵字定義構造的上下文屬性)

 

function Person(name,age,hobby) {
this.name = name; //this作用域:當前物件
this.age = age;
this.work = work;
this.info = function() {


alert("我叫" + this.name + ",今年" + this.age + "歲,是個" + this.work);
}
}
var Xiaosong = new Person("WooKong",23,"程式猿"); //例項化、建立物件
Xiaosong.info(); //呼叫info()方法

 

 

(4)用工廠方式來建立(內建物件)

 

function Person(name,age,hobby) {
this.name = name; //this作用域:當前物件
this.age = age;
this.work = work;


this.info = function() {
alert("我叫" + this.name + ",今年" + this.age + "歲,是個" + this.work);
}
}
var Xiaosong = new Person("WooKong",23,"程式猿"); //例項化、建立物件
Xiaosong.info(); //呼叫info()方法

 

(5)用原型方式來建立

 

function Standard(){}
Standard.prototype.name = "ECMAScript";
Standard.prototype.event = function() {
alert(this.name+"是指令碼語言標準規範");
}
var jiaoben = new Standard();
jiaoben.event();

 

(6)用混合方式來建立

 

function iPhone(name,event) {
this.name = name;
this.event = event;
}
iPhone.prototype.sell = function() {
alert("我是"+this.name+",我是iPhone5s的"+this.event+"~ haha!");
}
var SE = new iPhone("iPhone SE","官方翻新機");
SE.sell();