1,內部物件
如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物件追加的方法和屬性
複製程式碼 程式碼如下:
測試結果通過。表明物件的建立、物件方法屬性的呼叫、內部物件的追加方法和屬性呼叫都是正確的。