javascript 學習筆記(八)javascript對象
更新時間:2011年04月12日 00:29:23 作者:
昨天看了些有關javascript對象方面的文章,以下是自己的一些學習心得及體會,希望同大家共同討論!
1、javascript中的內置對象
javascript中除了本身的內置對象,如以下我們所熟悉的對象:
•Array
•Date
•Math
•String
•RegExp
•……
各個對象都有自己的屬性及方法,比如我們經常使用屬性及方法
屬性:stringObject.length; arrayObject.length;……
方法:stringObject.indexOf(); stringObject.splite(); stringObject.substr(); arrayObject.concat(); arrayObject.push(); arrayObject.join();……
2、如何自定義對象,及添加屬性和方法
a. 通過關鍵字new創(chuàng)建
var newObject = new Object(); //創(chuàng)建一個新類
newObject.name = "new object"; //添加一個name的屬性
newObject.say = function() { //添加say()方法
alert(this.name); //output new object
}
對于以上的創(chuàng)建方法,我們可以利用JSON(JavaScript Object Notation)的方法簡寫為如下代碼:
var newObject = {
name: "new object";
say: function () {
alert(this.name);
}
};
我們利用JSON的數據格式創(chuàng)建一個更為復雜的對象
var company = {
name: "tuanzz",
product: "groupon",
address: {province: "Hubei", city: "wuhan"},
person:[
{name: "zhangchen",age: "23"},
{name: "luomi", age: "23"},
],
readme: function() {
alert("My name is "+this.person[0].name+" and "+this.person[0].age+" years old");
}
};
company.readme(); //output My name is zhangchen and 23 years old;
我們可以看到,用JSON的數據格式創(chuàng)建的對象,代碼不僅看起來十分優(yōu)雅。
JSON的形式就是用大括“{}”號包括起來的項目列表,每一個項目間并用逗號“,”分隔,而項目就是用冒號“:”分隔的屬性名和屬性值。這是典型的字典表示形式,也再次表明了 JavaScript里的對象就是字典結構。不管多么復雜的對象,都可以被一句JSON代碼來創(chuàng)建并賦值。
b、通過構造函數來創(chuàng)建對象
function objectFun(name) {
this.name = name;
this.say = function() {
alert(this.name);
}
}
var newObject = new objectFun("zhangchen");
newObject.say(); //output zhangchen
首先新建一個objectFun()函數,其中定義了屬性和方法,這里我們可以把objectFun看作一個類(在javascript中函數就是對象),然后通過new實例化出一個對象,newObject對象中同樣也有了父類中屬性和方法。
我們可以用以下代碼來檢測函數確實是對象:
//普通函數
function say(s) {
alert(s);
}
say("hi");
//給函數對象賦屬性,函數就是對象
say.test = "it can work?";
alert(say.test); //output it can work?
如何理解以上創(chuàng)建對象的方法?我們看下面的代碼:
function objectFun(name) {
this.name = name;
this.say = function() {
alert(this.name);
}
}
var newObject = new Object(); //創(chuàng)建一個空對象
objectFun.call(newObject, "zhangchen"); //將newObject作為this參數調用objectFun函數
newObject.say("zhangchen");//output zhangchen
首先創(chuàng)建一個newObject對象,newObject作為this參數調用objectFun函數。講了這么多,我們完全可以把objectFun作為構造函數來使用。
-------------------------------------------------------------------------------------------------------------------------------------------------
余下內容大家可參考李戰(zhàn)寫的悟透JavaScript
javascript中除了本身的內置對象,如以下我們所熟悉的對象:
•Array
•Date
•Math
•String
•RegExp
•……
各個對象都有自己的屬性及方法,比如我們經常使用屬性及方法
屬性:stringObject.length; arrayObject.length;……
方法:stringObject.indexOf(); stringObject.splite(); stringObject.substr(); arrayObject.concat(); arrayObject.push(); arrayObject.join();……
2、如何自定義對象,及添加屬性和方法
a. 通過關鍵字new創(chuàng)建
復制代碼 代碼如下:
var newObject = new Object(); //創(chuàng)建一個新類
newObject.name = "new object"; //添加一個name的屬性
newObject.say = function() { //添加say()方法
alert(this.name); //output new object
}
對于以上的創(chuàng)建方法,我們可以利用JSON(JavaScript Object Notation)的方法簡寫為如下代碼:
復制代碼 代碼如下:
var newObject = {
name: "new object";
say: function () {
alert(this.name);
}
};
我們利用JSON的數據格式創(chuàng)建一個更為復雜的對象
復制代碼 代碼如下:
var company = {
name: "tuanzz",
product: "groupon",
address: {province: "Hubei", city: "wuhan"},
person:[
{name: "zhangchen",age: "23"},
{name: "luomi", age: "23"},
],
readme: function() {
alert("My name is "+this.person[0].name+" and "+this.person[0].age+" years old");
}
};
company.readme(); //output My name is zhangchen and 23 years old;
我們可以看到,用JSON的數據格式創(chuàng)建的對象,代碼不僅看起來十分優(yōu)雅。
JSON的形式就是用大括“{}”號包括起來的項目列表,每一個項目間并用逗號“,”分隔,而項目就是用冒號“:”分隔的屬性名和屬性值。這是典型的字典表示形式,也再次表明了 JavaScript里的對象就是字典結構。不管多么復雜的對象,都可以被一句JSON代碼來創(chuàng)建并賦值。
b、通過構造函數來創(chuàng)建對象
復制代碼 代碼如下:
function objectFun(name) {
this.name = name;
this.say = function() {
alert(this.name);
}
}
var newObject = new objectFun("zhangchen");
newObject.say(); //output zhangchen
首先新建一個objectFun()函數,其中定義了屬性和方法,這里我們可以把objectFun看作一個類(在javascript中函數就是對象),然后通過new實例化出一個對象,newObject對象中同樣也有了父類中屬性和方法。
我們可以用以下代碼來檢測函數確實是對象:
復制代碼 代碼如下:
//普通函數
function say(s) {
alert(s);
}
say("hi");
//給函數對象賦屬性,函數就是對象
say.test = "it can work?";
alert(say.test); //output it can work?
如何理解以上創(chuàng)建對象的方法?我們看下面的代碼:
復制代碼 代碼如下:
function objectFun(name) {
this.name = name;
this.say = function() {
alert(this.name);
}
}
var newObject = new Object(); //創(chuàng)建一個空對象
objectFun.call(newObject, "zhangchen"); //將newObject作為this參數調用objectFun函數
newObject.say("zhangchen");//output zhangchen
首先創(chuàng)建一個newObject對象,newObject作為this參數調用objectFun函數。講了這么多,我們完全可以把objectFun作為構造函數來使用。
-------------------------------------------------------------------------------------------------------------------------------------------------
余下內容大家可參考李戰(zhàn)寫的悟透JavaScript
您可能感興趣的文章:
- Javascript 入門基礎學習
- JavaScript 學習筆記二 字符串拼接
- javascript 模式設計之工廠模式學習心得
- JavaScript 構造函數 面相對象學習必備知識
- 寫給想學習Javascript的朋友一點學習經驗小結
- javascript學習筆記(二) 鼠標經過時,改變div塊的背景色的代碼
- javascript 學習筆記(六)瀏覽器類型及版本信息檢測代碼
- javascript學習筆記(七)利用javascript來創(chuàng)建和存儲cookie
- javascript學習筆記(九)javascript中的原型(prototype)及原型鏈的繼承方式
- javascript的正則表達式學習資料復習
- JavaScript高級程序設計 學習筆記 js高級技巧
- JavaScript學習小結(一)——JavaScript入門基礎
- 每天一篇javascript學習小結(Array數組)
- 每天一篇javascript學習小結(Boolean對象)
相關文章
在Javascript中 聲明時用"var"與不用"var"的區(qū)別
Javascript聲明變量的時候,雖然用var關鍵字聲明和不用關鍵字聲明,很多時候運行并沒有問題,但是這兩種方式還是有區(qū)別的2013-04-04ASP小貼士/ASP Tips javascript tips可以當桌面
今天看到《ASP小貼士/ASP Tips》 我也去把JavaScript的tips 下下來了。 看看是A4的。 自己把他改成1024 * 768 剛好可以用來做桌面2009-12-12