天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

JavaScript 基于原型的對象(創建、調用)

JavaScript中的對象有三種
1,內部對象
如Array,Boolean,Data,Math,Number,Object,RegExp,String對象等
這些對象系統給我們提供了各自的屬性與方法供調用。
2,基于類的對象
用類的方式實現對象的引用,這些類需要我們自己定義
3,基于原型的對象
提供有關如何使用 JavaScript 基于原型的對象模型的指南,并且提供指向特定信息的鏈接,這些信息描述基于原型的對象的自定義構造函數和繼承。

在我們寫js代碼的時候,內部對象是不可避免的要引用,但是光靠這些對象是不夠的,所以需要我們自己定義對象,這個時候通常用到的對象是第三種,即基于原型的對象,下面就如何創建自己的對象,定義對象的方法、屬性,調用對象給出詳細的說明。
復制代碼 代碼如下:
//JScript 的一個強大功能是能夠定義構造函數,以創建自定義的基于原型的對象,以便在您的腳本中使用。
//要創建基于原型的對象的實例,首先必須定義一個構造函數。
//此過程將創建一個新對象并將它初始化(創建屬性并賦初始值)。
//當完成后,構造函數將返回對所構造對象的引用。
//在構造函數內部,創建的對象是通過 this 語句引用的。
function people(name,age)//定義people對象
{
this.mName=name;//這里的mName表示屬性,無需在外面定義,this指示的是people這個對象
this.Age=age;
this.category="哺乳動物";
this.toString=Exporting;//方法,注意這里只能寫toString,而不是toString()
this.myMethod=function()//等價于this.myMethod=method;然后下面寫method的方法
{
return "你好";
}
}
function Exporting()//可以有返回值,但函數名前不用寫返回值的類型,如string,int之類
{
return "我的名字是――"+this.mName+",年齡是――"+this.Age;
}
/*function method()
{
return "你好";
}*/
people.prototype.getName=function()//在構造函數外面寫方法,
//也也可以這樣寫function people.prototype.getName()
//等價于在構造函數里面的方法:this.getName
{
return this.mName;
}
people.prototype.getAge=this.Age;//在構造函數外面寫屬性,
//等價于在構造函數里面的方法:this.getAge
function people.prototype.getMoney()//同people.prototype.getMoney=function()等價
//也等價于在構造函數里的寫法:this.getMoney
{
return "1000";
}
function show()//調用people對象
{
var me=new people("劉德華",22);//實例化people對象,關鍵字new
//var myName=me.getName();
//alert(myName);
me.sex="男";//這里的sex屬性只能用于me這個實例,即特有屬性
//而如果有定義var you =new people("小強",1);
//you這個實例卻不能調用sex屬性
//如果要這兩個實例都可以引用的話應該把sex屬性寫作people.prototype.sex
//alert(me.sex);
//alert(me.category);
//alert(me.toString());//或者直接寫alert(me)即可
//alert(me.myMethod());
//alert(me.getMoney());
alert(me.myMethod()+"/n姓名:"+me.getName()+"/n性別:"+me.sex+"/n類別:"+me.category+"/n總資產:"+me.getMoney()+"/n總結:"+me.toString());
}

根據上面的思路,可以在JavaScript內置對象上添加其它屬性或者方法,下面為String對象增加一
good方法和bad屬性,這是內置對象中所沒有的方法和屬性
復制代碼 代碼如下:
String.prototype.good=function()//自定義方法
{
return "恭喜你成功對內置String對象追加good方法";
}
String.prototype.bad="恭喜你成功對內置String對象追加bad屬性";//自定義屬性
function test()//調用String對象追加的屬性和方法
{
var str="good good study";//定義一個字符串實例str
alert(str.good()+"/n"+str.bad);//調用自定義的string對象的方法good和屬性bad
}

最后在html中添加兩個button按鈕,測試對象people和string對象追加的方法和屬性
復制代碼 代碼如下:
<html>
<title>JavaScript基于原型的對象</title>
<body>
<div>
<input type="button" value="自定義對象定義" onclick="show()">
</div>
<div>
<input type="button" value="內置對象追加方法" onclick="test()">
</div>
</body>
</html>

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

JavaScript技術JavaScript 基于原型的對象(創建、調用),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久毛片免费看一区二区三区 | 学生无码AV一区二区三区 | 伊人国产精品 | 国产精品婷婷五月久久久久 | 乌克兰16~18sex| 一一本之道高清视频在线观看中文字幕 | 国产精品99久久久精品无码 | 国产精品女主播主要上线 | 亚洲无吗在线视频 | 男人吃奶摸下弄进去好爽 | 精品一区二区三区AV天堂 | 男人插女人动态 | 国产亚洲精品久久久久久线投注 | 久久偷拍vs国产在线播放 | 高h浪荡文辣文神奇宝贝 | 黄色a级免费网站 | 亚洲熟妇AV乱码在线观看 | 精品久久伦理中文字幕 | 黄色软件色多多 | 国产剧果冻传媒星空在线观看 | 青青草原国产在线观看 | 国产精品A8198V久久A片 | 无码人妻丰满熟妇区五十路久久 | 国产免费69成人精品视频 | 亚洲一区成人 | 欧洲日韩av无线在码 | 精品国产自在现线拍400部 | 69国产精品成人无码视频 | 2018久久视频在线视频观看 | 果冻传媒视频在线观看完整版免费 | 欧美亚洲精品一区二三区8V | 忘忧草在线影院www日本 | 免费毛片网站在线观看 | 色www永久免费 | 日本全彩黄漫无遮挡 | 双腿打开揉弄高潮H苏安安秦慕深 | 色欲AV亚洲情无码AV蜜桃 | 国产亚洲精品久久孕妇呦呦你懂 | 黑人巨茎大战白人女40CMO | 偷拍亚洲制服另类无码专区 | 亚洲国产欧美在线人成aaaa20 |