JavaScript 創(chuàng)建對(duì)象
更新時(shí)間:2009年07月17日 00:56:22 作者:
JSON方式/對(duì)象直接量 等多種方法。大家可以快速的掌握js對(duì)象的建立。
第一種:JSON方式/對(duì)象直接量
格式:
var 對(duì)象名 = {
變量1: 變量1的值,
變量1: 變量1的值,
……,
函數(shù)1: function() {
函數(shù)體
},
函數(shù)2: function() {
函數(shù)體
}//Note:最后的逗號(hào)要去除為了和IE兼容。
};
說(shuō)明:
(1) 大括號(hào)內(nèi)直接填寫(xiě)變量或者函數(shù);
(2) 對(duì)象的內(nèi)容與值以冒號(hào)分隔,成對(duì)出現(xiàn);
(3) 包含的變量或者函數(shù)之間以逗號(hào)分隔;
(4) 函數(shù)需要寫(xiě)在function(){}的大括號(hào)之內(nèi)。
例子:
var 對(duì)象名 = {
name: “Vicky”,
age: 26,
eat: function() {
alert(‘I wanna eat meat');
},
sleep: function() {
alert(‘I wanna sleep');
}
};
注釋:類似的方式也叫做匿名類
匿名類舉例:
{
index: '//',
reg: new RegExp('^//.*$'),
css: "comment"
}
上面的方式創(chuàng)建了類,只是沒(méi)賦給一個(gè)變量而已。
第二種:function方式
格式:
function data() {
this.變量1=變量1的值;
this.變量2=變量2的值;
……;
this.函數(shù)1= function() {
函數(shù)體
};
this.函數(shù)2= function() {
函數(shù)體
};
}
說(shuō)明:
(1) 其內(nèi)的變量或者函數(shù)前必需寫(xiě)上this關(guān)鍵字;
(2) 對(duì)象的內(nèi)容與值以等號(hào)分隔,成對(duì)出現(xiàn);
(3) 包含的變量或者函數(shù)之間以分號(hào)分隔。
(4) 函數(shù)需要寫(xiě)在function(){}的大括號(hào)之內(nèi)。
例子:
function data() {
this.name=“Vicky””;
this.age=26;
this.eat=function() {
alert(‘I wanna eat meat');
};
this.sleep=function() {
alert(‘I wanna sleep');
};
}
第三種:原型方式
格式:
var 對(duì)象名 = {};
對(duì)象名.prototype.變量1=變量1的值;
對(duì)象名.prototype.變量2=變量2的值;
……;
對(duì)象名.prototype.函數(shù)1= function() {
函數(shù)體
};
對(duì)象名.prototype.函數(shù)2= function() {
函數(shù)體
};
……;
說(shuō)明:
(1) 初始對(duì)象體內(nèi)可以不定義任何東西;
(2) 在要定義的變量前加“對(duì)象名.prototype.”的格式;
(3) 對(duì)象的內(nèi)容與值以等號(hào)分隔,成對(duì)出現(xiàn);
(4) 包含的變量或者函數(shù)之間以分號(hào)分隔,也可以省去分號(hào)。
(5) 函數(shù)需要寫(xiě)在function(){}的大括號(hào)之內(nèi)。
例子:
var data = {};
data.prototype. name ="Vicky”;
data.prototype. age =20;
data.prototype. eat = function() {
alert(‘I wanna eat meat');
};
data.prototype. sleep= function() {
alert(‘I wanna sleep');
};
第四種:create方式
該方式利用了Prototype JavaScript組件庫(kù)。
格式:
var 對(duì)象名 = Class.create();
Object.extend(對(duì)象名.prototype, {
變量1: 變量1的值,
變量1: 變量1的值,
……,
函數(shù)1: function() {
函數(shù)體
},
函數(shù)2: function() {
函數(shù)體
},
……
});
說(shuō)明:
(1) 對(duì)象的創(chuàng)建使用了Prototype庫(kù)中的Class.create()函數(shù);
(2) 對(duì)象的內(nèi)容使用Prototype庫(kù)中的Object.extend()函數(shù)來(lái)擴(kuò)展;
(3) 被擴(kuò)展的對(duì)象在傳入Object.extend函數(shù)時(shí)一定要帶上prototype,
(4) 擴(kuò)展內(nèi)容被大括號(hào)包含,其內(nèi)與JSON方式的定義格式完全相同。
例子:
var data = Class.create();
Object.extend(dta.prototype, {
name: "Vicky",
age: 20,
eat: function() {
alert(‘I wanna eat meat');
},
sleep: function() {
alert(‘I wanna sleep');
}
});
其實(shí),JS對(duì)象的定義還有其它的方式,你也可以用上面4種進(jìn)行組合定義,這顯出了JS作為動(dòng)態(tài)語(yǔ)言的自由性。
JS對(duì)象的創(chuàng)建正規(guī)方法如下:
var d1 = new Data();
JS對(duì)象變量的引用方式有兩種:
(1) 點(diǎn)號(hào)方式引用,如,data.name。
(2) 數(shù)組方式引用,如,data[‘name']。
格式:
var 對(duì)象名 = {
變量1: 變量1的值,
變量1: 變量1的值,
……,
函數(shù)1: function() {
函數(shù)體
},
函數(shù)2: function() {
函數(shù)體
}//Note:最后的逗號(hào)要去除為了和IE兼容。
};
說(shuō)明:
(1) 大括號(hào)內(nèi)直接填寫(xiě)變量或者函數(shù);
(2) 對(duì)象的內(nèi)容與值以冒號(hào)分隔,成對(duì)出現(xiàn);
(3) 包含的變量或者函數(shù)之間以逗號(hào)分隔;
(4) 函數(shù)需要寫(xiě)在function(){}的大括號(hào)之內(nèi)。
例子:
var 對(duì)象名 = {
name: “Vicky”,
age: 26,
eat: function() {
alert(‘I wanna eat meat');
},
sleep: function() {
alert(‘I wanna sleep');
}
};
注釋:類似的方式也叫做匿名類
匿名類舉例:
{
index: '//',
reg: new RegExp('^//.*$'),
css: "comment"
}
上面的方式創(chuàng)建了類,只是沒(méi)賦給一個(gè)變量而已。
第二種:function方式
格式:
function data() {
this.變量1=變量1的值;
this.變量2=變量2的值;
……;
this.函數(shù)1= function() {
函數(shù)體
};
this.函數(shù)2= function() {
函數(shù)體
};
}
說(shuō)明:
(1) 其內(nèi)的變量或者函數(shù)前必需寫(xiě)上this關(guān)鍵字;
(2) 對(duì)象的內(nèi)容與值以等號(hào)分隔,成對(duì)出現(xiàn);
(3) 包含的變量或者函數(shù)之間以分號(hào)分隔。
(4) 函數(shù)需要寫(xiě)在function(){}的大括號(hào)之內(nèi)。
例子:
function data() {
this.name=“Vicky””;
this.age=26;
this.eat=function() {
alert(‘I wanna eat meat');
};
this.sleep=function() {
alert(‘I wanna sleep');
};
}
第三種:原型方式
格式:
var 對(duì)象名 = {};
對(duì)象名.prototype.變量1=變量1的值;
對(duì)象名.prototype.變量2=變量2的值;
……;
對(duì)象名.prototype.函數(shù)1= function() {
函數(shù)體
};
對(duì)象名.prototype.函數(shù)2= function() {
函數(shù)體
};
……;
說(shuō)明:
(1) 初始對(duì)象體內(nèi)可以不定義任何東西;
(2) 在要定義的變量前加“對(duì)象名.prototype.”的格式;
(3) 對(duì)象的內(nèi)容與值以等號(hào)分隔,成對(duì)出現(xiàn);
(4) 包含的變量或者函數(shù)之間以分號(hào)分隔,也可以省去分號(hào)。
(5) 函數(shù)需要寫(xiě)在function(){}的大括號(hào)之內(nèi)。
例子:
var data = {};
data.prototype. name ="Vicky”;
data.prototype. age =20;
data.prototype. eat = function() {
alert(‘I wanna eat meat');
};
data.prototype. sleep= function() {
alert(‘I wanna sleep');
};
第四種:create方式
該方式利用了Prototype JavaScript組件庫(kù)。
格式:
var 對(duì)象名 = Class.create();
Object.extend(對(duì)象名.prototype, {
變量1: 變量1的值,
變量1: 變量1的值,
……,
函數(shù)1: function() {
函數(shù)體
},
函數(shù)2: function() {
函數(shù)體
},
……
});
說(shuō)明:
(1) 對(duì)象的創(chuàng)建使用了Prototype庫(kù)中的Class.create()函數(shù);
(2) 對(duì)象的內(nèi)容使用Prototype庫(kù)中的Object.extend()函數(shù)來(lái)擴(kuò)展;
(3) 被擴(kuò)展的對(duì)象在傳入Object.extend函數(shù)時(shí)一定要帶上prototype,
(4) 擴(kuò)展內(nèi)容被大括號(hào)包含,其內(nèi)與JSON方式的定義格式完全相同。
例子:
var data = Class.create();
Object.extend(dta.prototype, {
name: "Vicky",
age: 20,
eat: function() {
alert(‘I wanna eat meat');
},
sleep: function() {
alert(‘I wanna sleep');
}
});
其實(shí),JS對(duì)象的定義還有其它的方式,你也可以用上面4種進(jìn)行組合定義,這顯出了JS作為動(dòng)態(tài)語(yǔ)言的自由性。
JS對(duì)象的創(chuàng)建正規(guī)方法如下:
var d1 = new Data();
JS對(duì)象變量的引用方式有兩種:
(1) 點(diǎn)號(hào)方式引用,如,data.name。
(2) 數(shù)組方式引用,如,data[‘name']。
您可能感興趣的文章:
- JavaScript 三種創(chuàng)建對(duì)象的方法
- JS 創(chuàng)建對(duì)象(常見(jiàn)的幾種方法)
- js中創(chuàng)建對(duì)象的幾種方式示例介紹
- JS對(duì)象創(chuàng)建的幾種方式整理
- js創(chuàng)建對(duì)象的幾種常用方式小結(jié)(推薦)
- javascript轉(zhuǎn)換字符串為dom對(duì)象(字符串動(dòng)態(tài)創(chuàng)建dom)
- JavaScript中創(chuàng)建字典對(duì)象(dictionary)實(shí)例
- js創(chuàng)建對(duì)象的方法匯總
- js中常見(jiàn)的4種創(chuàng)建對(duì)象方式與優(yōu)缺點(diǎn)
相關(guān)文章
JSON與XML優(yōu)缺點(diǎn)對(duì)比分析
本文從各個(gè)方面向大家對(duì)比展示了json和xml的優(yōu)缺點(diǎn),十分的全面細(xì)致,有需要的小伙伴可以參考下。2015-07-07實(shí)現(xiàn)單層json按照key字母順序排序的示例
下面小編就為大家分享一篇實(shí)現(xiàn)單層json按照key字母順序排序的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12用nodejs寫(xiě)的一個(gè)簡(jiǎn)單項(xiàng)目打包工具
項(xiàng)目是模塊加載的,類似require.js的用法,所以簡(jiǎn)單寫(xiě)了一個(gè)js打包工具2013-05-05JSON 和 JavaScript eval使用說(shuō)明
JSON (JavaScript Object Notation) 一種輕量級(jí)的數(shù)據(jù)交換格式,比 XML 更輕巧,JSON 是JavaScript 原生格式,這意味著 JavaScript 中處理 JSON 數(shù)據(jù)不需要任何 API 和工具包。2010-06-06javascript表單域與json數(shù)據(jù)間的交互
找了幾個(gè)javascript的框架,都沒(méi)有找到我想要的: 提供函數(shù),把某個(gè)表單的所有域封裝成json數(shù)據(jù)格式的對(duì)象,唯有自己實(shí)現(xiàn)一個(gè)。2008-10-10