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建立
複製代碼 代碼如下:var newObject = new Object(); //建立一個新類
newObject.name = "new object"; //添加一個name的屬性
newObject.say = function() { //添加say()方法
alert(this.name); //output new object
}
對於以上的建立方法,我們可以利用JSON(JavaScript Object Notation)的方法簡寫為如下代碼: 複製代碼 代碼如下:var newObject = {
name: "new object";
say: function () {
alert(this.name);
}
};
我們利用JSON的資料格式建立一個更為複雜的對象 複製代碼 代碼如下: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的資料格式建立的對象,代碼不僅看起來十分優雅。
JSON的形式就是用大括“{}”號包括起來的項目列表,每一個項目間並用逗號“,”分隔,而項目就是用冒號“:”分隔的屬性名稱和屬性值。這是典型的字典表示形式,也再次表明了 JavaScript裡的對象就是字典結構。不管多麼複雜的對象,都可以被一句JSON代碼來建立並賦值。
b、通過建構函式來建立對象 複製代碼 代碼如下: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?
如何理解以上建立對象的方法?我們看下面的代碼: 複製代碼 代碼如下:function objectFun(name) {
this.name = name;
this.say = function() {
alert(this.name);
}
}
var newObject = new Object(); //建立一個Null 物件
objectFun.call(newObject, "zhangchen"); //將newObject作為this參數調用objectFun函數
newObject.say("zhangchen");//output zhangchen
首先建立一個newObject對象,newObject作為this參數調用objectFun函數。講了這麼多,我們完全可以把objectFun作為建構函式來使用。
-------------------------------------------------------------------------------------------------------------------------------------------------
餘下內容大家可參考李戰寫的悟透JavaScript