最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js類定義函數(shù)時(shí)用prototype與不用的區(qū)別示例介紹

 更新時(shí)間:2014年06月10日 08:51:37   作者:  
沒有使用prototype的方法相當(dāng)于類的靜態(tài)方法,相反,使用prototype的方法相當(dāng)于類的實(shí)例方法,不許new后才能使用
一直在使用js編寫自以為是面向?qū)ο蟮姆椒?,遇到一個(gè)問題,就是定義一個(gè)方法,如下:
復(fù)制代碼 代碼如下:

function ListCommon2(first,second,third)
{
this.First=function ()
{
alert("first do"+first);
}
}
ListCommon2.do1=function(first)
{
// this.First();
alert("first do"+first);
}
ListCommon2.prototype.do2=function(first)
{
// this.First();
alert("first do"+first);
}

兩種方法到底有什么區(qū)別呢?用不用prototype有什么作用呢?

測(cè)試代碼:
復(fù)制代碼 代碼如下:

var t1=new ListCommon2("燒水1","泡茶1","喝1");
// t1.do1();//調(diào)用出錯(cuò)
ListCommon2.do1("燒水1");
var t2=new ListCommon2("燒水2","泡茶2","喝2");
t2.do2("燒水2");//
// ListCommon2.do2("燒水1");//調(diào)用出錯(cuò)

經(jīng)過測(cè)試發(fā)現(xiàn),沒有使用prototype的方法相當(dāng)于類的靜態(tài)方法,因此可以這樣調(diào)用,ListCommon2.do1("燒水1");,如果這樣調(diào)用就會(huì)出錯(cuò),t1.do1();

相反,使用prototype的方法相當(dāng)于類的實(shí)例方法,不許new后才能使用,ListCommon2.do2("燒水1");這樣就會(huì)出錯(cuò)

結(jié)論,使用 prototype定義的方法相當(dāng)于類的實(shí)例方法,必須new后才能使用,函數(shù)中可以調(diào)用函數(shù)的限制也會(huì)類的實(shí)例方法的限制有些類似

使用 不使用prototype定義的方法相當(dāng)于類的靜態(tài)方法,可以直接使用,不需要new,,函數(shù)中可以調(diào)用函數(shù)的限制也會(huì)類的靜態(tài)方法法的限制有些類似

例如不能調(diào)用this.First();

相關(guān)文章

最新評(píng)論

湛江市| 平果县| 云龙县| 涪陵区| 浪卡子县| 南昌市| 西贡区| 伊川县| 右玉县| 元谋县| 江西省| 班玛县| 开原市| 新兴县| 沙河市| 江西省| 苍溪县| 呼图壁县| 镇平县| 晋中市| 隆回县| 得荣县| 卓尼县| 桂平市| 万载县| 兰坪| 大石桥市| 绵阳市| 镇康县| 黎城县| 宜兰市| 湾仔区| 会泽县| 井研县| 宁国市| 长沙市| 菏泽市| 科尔| 宁安市| 鹿泉市| 衡阳县|