JavaScript 創(chuàng)建對(duì)象和構(gòu)造類實(shí)現(xiàn)代碼
更新時(shí)間:2009年07月30日 21:48:51 作者:
JavaScript學(xué)習(xí)筆記:創(chuàng)建對(duì)象和構(gòu)造類.
創(chuàng)建一個(gè)對(duì)象
Java代碼
<script type="text/javaScript">
var newObject=new Object();
//創(chuàng)建一個(gè)對(duì)象
newObject.firstName="frank";
//增加一個(gè)firstName屬性
newObject.sayName=function(){
alert(this.firstName);
}
//添加一個(gè)sayName方法
//調(diào)用sayName方法
// newObject.sayName();
// newObject["sayName"]();
var FirstName=newObject["firstName"];
var whatFunction;
// if(whatVolume==1){
// whatFunction="sayName";
// }else if(whatVolume==2){
// whatFunction="sayLoudly"
// }
// newObject[whatFunction]();
function sayLoudly(){
alert(this.firstName.toUpperCase());
}
newObject.sayLoudly=sayLoudly;
//另一種方式添加方法
newObject["sayLoudly"]();
</script>
利用json(javaScript Object Notation)創(chuàng)建對(duì)象和上面同樣的效果。
Java代碼
function sayLoudly(){
alert(this.firstName.toUpperCase());
}
var newObject={
firstName:"frank",
sayName:function(){alert(this.firstName);},
sayLoudly:sayLoudly
};
//也可以這樣
var newObject={
firstName:"frank",
sayName:function(){alert(this.firstName);},
sayLoudly:sayLoudly,
lastName:{
lastName:"ziggy",
sayName:function(){alert(this.lastName);}
}
};
newObject.lastName.sayName();
這樣也ok
Java代碼
function sayLoudly(){
alert(this.name.toUpperCase());
}
function sayName(){
alert(this.name);
}
var newObject={
name:"frank",
sayName:sayName,
sayLoudly:sayLoudly,
lastName:{
name:"ziggy",
sayName:sayName
}
};
newObject.lastName.sayName();
JavaScript 中的類,還有構(gòu)造方法。。。
Java代碼
function newClass(){
alert("constructor");
this.firstName="frank";
this.sayName=function(){alert(this.firstName);}
// return this;
}
//var nc=newClass();
var nc=new newClass();
//nc.firstName="ziggy"; is ok
nc.sayName();
還可以這樣來(lái)構(gòu)造類
Java代碼
function newClass(){
this.firstName="frank";
}
newClass.prototype.sayName=function(){
alert(this.firstName);
}
var nc=new newClass();
nc.firstName="ziggy";
nc.sayName();
var nc2=new newClass();
nc2.sayName();
一般用prototypes來(lái)添加方法,這樣不管有多少個(gè)實(shí)例,在內(nèi)存中只有一個(gè)sayName方法。
Java代碼
復(fù)制代碼 代碼如下:
<script type="text/javaScript">
var newObject=new Object();
//創(chuàng)建一個(gè)對(duì)象
newObject.firstName="frank";
//增加一個(gè)firstName屬性
newObject.sayName=function(){
alert(this.firstName);
}
//添加一個(gè)sayName方法
//調(diào)用sayName方法
// newObject.sayName();
// newObject["sayName"]();
var FirstName=newObject["firstName"];
var whatFunction;
// if(whatVolume==1){
// whatFunction="sayName";
// }else if(whatVolume==2){
// whatFunction="sayLoudly"
// }
// newObject[whatFunction]();
function sayLoudly(){
alert(this.firstName.toUpperCase());
}
newObject.sayLoudly=sayLoudly;
//另一種方式添加方法
newObject["sayLoudly"]();
</script>
利用json(javaScript Object Notation)創(chuàng)建對(duì)象和上面同樣的效果。
Java代碼
復(fù)制代碼 代碼如下:
function sayLoudly(){
alert(this.firstName.toUpperCase());
}
var newObject={
firstName:"frank",
sayName:function(){alert(this.firstName);},
sayLoudly:sayLoudly
};
//也可以這樣
var newObject={
firstName:"frank",
sayName:function(){alert(this.firstName);},
sayLoudly:sayLoudly,
lastName:{
lastName:"ziggy",
sayName:function(){alert(this.lastName);}
}
};
newObject.lastName.sayName();
這樣也ok
Java代碼
復(fù)制代碼 代碼如下:
function sayLoudly(){
alert(this.name.toUpperCase());
}
function sayName(){
alert(this.name);
}
var newObject={
name:"frank",
sayName:sayName,
sayLoudly:sayLoudly,
lastName:{
name:"ziggy",
sayName:sayName
}
};
newObject.lastName.sayName();
JavaScript 中的類,還有構(gòu)造方法。。。
Java代碼
復(fù)制代碼 代碼如下:
function newClass(){
alert("constructor");
this.firstName="frank";
this.sayName=function(){alert(this.firstName);}
// return this;
}
//var nc=newClass();
var nc=new newClass();
//nc.firstName="ziggy"; is ok
nc.sayName();
還可以這樣來(lái)構(gòu)造類
Java代碼
復(fù)制代碼 代碼如下:
function newClass(){
this.firstName="frank";
}
newClass.prototype.sayName=function(){
alert(this.firstName);
}
var nc=new newClass();
nc.firstName="ziggy";
nc.sayName();
var nc2=new newClass();
nc2.sayName();
一般用prototypes來(lái)添加方法,這樣不管有多少個(gè)實(shí)例,在內(nèi)存中只有一個(gè)sayName方法。
您可能感興趣的文章:
- JS創(chuàng)建類和對(duì)象的兩種不同方式
- 跟我學(xué)習(xí)javascript創(chuàng)建對(duì)象(類)的8種方法
- JavaScript 常見(jiàn)對(duì)象類創(chuàng)建代碼與優(yōu)缺點(diǎn)分析
- JS OOP包機(jī)制,類創(chuàng)建的方法定義
- JavaScript創(chuàng)建類/對(duì)象的幾種方式概述及實(shí)例
- 創(chuàng)建js對(duì)象和js類的方法匯總
- Javascript創(chuàng)建類和對(duì)象詳解
- JavaScript構(gòu)造函數(shù)詳解
- JS面向?qū)ο蠡A(chǔ)講解(工廠模式、構(gòu)造函數(shù)模式、原型模式、混合模式、動(dòng)態(tài)原型模式)
- JS中的構(gòu)造函數(shù)詳細(xì)解析
- 深入理解javascript構(gòu)造函數(shù)和原型對(duì)象
- JavaScript 面向?qū)ο蟪绦蛟O(shè)計(jì)詳解【類的創(chuàng)建、實(shí)例對(duì)象、構(gòu)造函數(shù)、原型等】
相關(guān)文章

JavaScript 面向?qū)ο笕腴T精簡(jiǎn)篇
圍繞面向?qū)ο蟮膸状箨P(guān)鍵字:封裝 ,繼承 ,多態(tài) ,展開(kāi)JavaScript面向?qū)ο?/div> 2009-03-03

JavaScript 三種創(chuàng)建對(duì)象的方法
JavaScript中對(duì)象的創(chuàng)建有以下幾種方式 使用內(nèi)置對(duì)象 使用JSON符號(hào) 自定義對(duì)象構(gòu)造。大家可以參考下。
2009-10-10 
一個(gè)簡(jiǎn)單的javascript類定義例子
涵蓋了javascript公有成員定義、私有成員定義、特權(quán)方法定義的簡(jiǎn)單示例
2009-09-09 
前端開(kāi)發(fā)的開(kāi)始---基于面向?qū)ο蟮腁jax類
因?yàn)槲一旧蟖jax開(kāi)發(fā)都是用jquery來(lái)完成,后來(lái)想了想,也是應(yīng)該寫一個(gè)。這樣才能提高自己的整體水平。
2010-09-09 
js創(chuàng)建對(duì)象的幾種常用方式小結(jié)(推薦)
最近在看javascript高級(jí)程序設(shè)計(jì),其中對(duì)對(duì)象的創(chuàng)建做了具體的闡述,綜合起來(lái),總結(jié)了下(je知識(shí)庫(kù)javascript專欄由這方面的教程,有興趣的可以去知識(shí)庫(kù)看看)
2010-10-10 
討論javascript(一)工廠方式 js面象對(duì)象的定義方法
看《javascript高級(jí)程序設(shè)計(jì)》有感
2009-12-12