最新国产好看的视频,伊人天堂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)論

华池县| 遂宁市| 融水| 灵台县| 大厂| 阳东县| 盐城市| 和田县| 营山县| 山东省| 察哈| 崇礼县| 望都县| 衡阳县| 阿勒泰市| 佛山市| 精河县| 天镇县| 望奎县| 蓝山县| 蒙自县| 两当县| 绥阳县| 荔波县| 满洲里市| 信阳市| 来凤县| 神木县| 定州市| 南京市| 台山市| 正镶白旗| 陵水| 永川市| 太白县| 嘉义县| 自贡市| 县级市| 华坪县| 萍乡市| 东宁县|