亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

JavaScript中的三種對象

時間:2023-04-01 05:49:22 JavaScript 我要投稿
  • 相關(guān)推薦

JavaScript中的三種對象

  1,內(nèi)部對象

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

  這些對象系統(tǒng)給我們提供了各自的屬性與方法供調(diào)用。

  2,基于類的對象

  用類的方式實(shí)現(xiàn)對象的引用,這些類需要我們自己定義

  3,基于原型的對象

  提供有關(guān)如何使用 JavaScript 基于原型的對象模型的指南,并且提供指向特定信息的鏈接,這些信息描述基于原型的對象的自定義構(gòu)造函數(shù)和繼承。

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

  復(fù)制代碼 代碼如下:

  //JScript 的一個強(qiáng)大功能是能夠定義構(gòu)造函數(shù),以創(chuàng)建自定義的基于原型的對象,以便在您的腳本中使用。

  //要創(chuàng)建基于原型的對象的實(shí)例,首先必須定義一個構(gòu)造函數(shù)。

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

  //當(dāng)完成后,構(gòu)造函數(shù)將返回對所構(gòu)造對象的引用。

  //在構(gòu)造函數(shù)內(nèi)部,創(chuàng)建的對象是通過 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()//可以有返回值,但函數(shù)名前不用寫返回值的類型,如string,int之類

  {

  return "我的名字是——"+this.mName+",年齡是——"+this.Age;

  }

  /*function method()

  {

  return "你好";

  }*/

  people.prototype.getName=function()//在構(gòu)造函數(shù)外面寫方法,

  //也也可以這樣寫function people.prototype.getName()

  //等價于在構(gòu)造函數(shù)里面的方法:this.getName

  {

  return this.mName;

  }

  people.prototype.getAge=this.Age;//在構(gòu)造函數(shù)外面寫屬性,

  //等價于在構(gòu)造函數(shù)里面的方法:this.getAge

  function people.prototype.getMoney()//同people.prototype.getMoney=function()等價

  //也等價于在構(gòu)造函數(shù)里的寫法:this.getMoney

  {

  return "1000";

  }

  function show()//調(diào)用people對象

  {

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

  //var myName=me.getName();

  //alert(myName);

  me.sex="男";//這里的sex屬性只能用于me這個實(shí)例,即特有屬性

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

  //you這個實(shí)例卻不能調(diào)用sex屬性

  //如果要這兩個實(shí)例都可以引用的話應(yīng)該把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總資產(chǎn):"+me.getMoney()+"n總結(jié):"+me.toString());

  }

  根據(jù)上面的思路,可以在JavaScript內(nèi)置對象上添加其它屬性或者方法,下面為String對象增加一

  good方法和bad屬性,這是內(nèi)置對象中所沒有的方法和屬性

  復(fù)制代碼 代碼如下:

  String.prototype.good=function()//自定義方法

  {

  return "恭喜你成功對內(nèi)置String對象追加good方法";

  }

  String.prototype.bad="恭喜你成功對內(nèi)置String對象追加bad屬性";//自定義屬性

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

  {

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

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

  }

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

  復(fù)制代碼 代碼如下:

  測試結(jié)果通過。表明對象的創(chuàng)建、對象方法屬性的調(diào)用、內(nèi)部對象的追加方法和屬性調(diào)用都是正確的。

【JavaScript中的三種對象】相關(guān)文章:

理解Javascript對象06-21

Javascript內(nèi)置核心對象教程06-20

使用ajax操作JavaScript對象的方法08-26

javascript之Function對象學(xué)習(xí)小結(jié)06-23

常用的JavaScript模式08-29

JavaScript常用方法匯總08-26

詳細(xì)解說JavaScript事件06-20

JavaScript語法分析06-21

高效編寫JavaScript代碼的技巧08-29

javascript是什么意思10-08