JavaScript中的三種對象

1,內部對象

JavaScript中的三種對象

如Array,Boolean,Data,Math,Number,Object,RegExp,String對象等

這些對象系統給我們提供了各自的屬性與方法供調用。

2,基於類的對象

用類的方式實現對象的引用,這些類需要我們自己定義

3,基於原型的對象

提供有關如何使用 JavaScript 基於原型的對象模型的指南,並且提供指向特定信息的鏈接,這些信息描述基於原型的對象的自定義構造函數和繼承。

在我們寫js代碼的時候,內部對象是不可避免的要引用,但是光靠這些對象是不夠的,所以需要我們自己定義對象,這個時候通常用到的對象是第三種,即基於原型的對象,下面就如何創建自己的對象,定義對象的方法、屬性,調用對象給出詳細的說明。

複製代碼 代碼如下:

//JScript 的.一個強大功能是能夠定義構造函數,以創建自定義的基於原型的對象,以便在您的腳本中使用。

//要創建基於原型的對象的實例,首先必須定義一個構造函數。

//此過程將創建一個新對象並將它初始化(創建屬性並賦初始值)。

//當完成後,構造函數將返回對所構造對象的引用。

//在構造函數內部,創建的對象是通過 this 語句引用的。

function people(name,age)//定義people對象

{

e=name;//這裏的mName表示屬性,無需在外面定義,this指示的是people這個對象

=age;

gory="哺乳動物";

ring=Exporting;//方法,注意這裏只能寫toString,而不是toString()

thod=function()//等價於thod=method;然後下面寫method的方法

{

return "你好";

}

}

function Exporting()//可以有返回值,但函數名前不用寫返回值的類型,如string,int之類

{

return "我的名字是——"+e+",年齡是——"+;

}

/*function method()

{

return "你好";

}*/

ame=function()//在構造函數外面寫方法,

//也也可以這樣寫function ame()

//等價於在構造函數裏面的方法:ame

{

return e;

}

ge=;//在構造函數外面寫屬性,

//等價於在構造函數裏面的方法:ge

function oney()//同oney=function()等價

//也等價於在構造函數裏的寫法:oney

{

return "1000";

}

function show()//調用people對象

{

var me=new people("劉德華",22);//實例化people對象,關鍵字new

//var myName=ame();

//alert(myName);

="男";//這裏的sex屬性只能用於me這個實例,即特有屬性

//而如果有定義var you =new people("小強",1);

//you這個實例卻不能調用sex屬性

//如果要這兩個實例都可以引用的話應該把sex屬性寫作

//alert();

//alert(gory);

//alert(ring());//或者直接寫alert(me)即可

//alert(thod());

//alert(oney());

alert(thod()+"n姓名:"+ame()+"n性別:"++"n類別:"+gory+"n總資產:"+oney()+"n總結:"+ring());

}

根據上面的思路,可以在JavaScript內置對象上添加其它屬性或者方法,下面爲String對象增加一

good方法和bad屬性,這是內置對象中所沒有的方法和屬性

複製代碼 代碼如下:

=function()//自定義方法

{

return "恭喜你成功對內置String對象追加good方法";

}

="恭喜你成功對內置String對象追加bad屬性";//自定義屬性

function test()//調用String對象追加的屬性和方法

{

var str="good good study";//定義一個字符串實例str

alert(()+"n"+);//調用自定義的string對象的方法good和屬性bad

}

最後在html中添加兩個button按鈕,測試對象people和string對象追加的方法和屬性

複製代碼 代碼如下:

測試結果通過。表明對象的創建、對象方法屬性的調用、內部對象的追加方法和屬性調用都是正確的。