日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
JavaScript重名,重名怎么區(qū)分

JavaScript函數(shù)重名怎么辦?

,因?yàn)槟_本在頁(yè)面里本身就是順序執(zhí)行下來(lái)的,包括函數(shù)的定義,但然如果只是定義 function foo(){}

綿竹ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書(shū)合作)期待與您的合作!

這種形式,我們是跟蹤不到函數(shù)初始化的??墒侨绻嵌x類(lèi)的方式,我們就可以明顯地跟蹤到函數(shù)的初始化順序。比如:

function foo() {}

function foo.prototype.fn1() {}

function foo.prototype.fn2() {}

我們就可以明顯地看到先執(zhí)行function foo.prototype.fn1(){}再執(zhí)行function

foo.prototype.fn2(){}。

回到我們剛才說(shuō)的JavaScript腳本函數(shù)重名問(wèn)題上來(lái),比如我們定義兩個(gè)函數(shù) funAlert():

function funAlert()

{

alert('A');

}

function funAlert()

{

alert('B');

}

調(diào)用 funAlert(),那么將顯示一個(gè)MegBox,內(nèi)容為'B'。

為什么初始化函數(shù)會(huì)有這樣的效果?這里只用把上面兩個(gè)函數(shù)的定義改一下,就會(huì)一目了然了,我們把定義改為:

var fnAlert = new Function("alert('A')");

var fnAlert = new Function("alert('B')");

window.fnAlert();

其函數(shù)也就是定義在對(duì)象上的一個(gè)函數(shù)指針,我們象這個(gè)指針賦什么函數(shù)引用,它就執(zhí)行什么效果,而JavaScript中的腳本函數(shù)重名就和普通賦值語(yǔ)句一樣,等同于:

var i = 0;

var i = 1;

// 稍微注意以下JavaScript里的var,用var定義變量和我們平時(shí)用的高級(jí)語(yǔ)言定義變量是不同的,它只起到一個(gè)提示的作用,提醒說(shuō)我在這里定義變量了,而沒(méi)有什么變量作用域的概念,只要不離開(kāi)定義它的對(duì)象的域(比如頁(yè)面刷新),出現(xiàn)過(guò)的變量會(huì)就一直存在。所以var寫(xiě)不寫(xiě)都行。舉個(gè)例子:

if ( true )

{

t = 100;

}

alert(t);

將顯示100,而

if ( true )

{

var t = 100;

}

alert(t);

也是顯示100。

所以JavaScript的腳本函數(shù)名重不重復(fù)只是一個(gè)運(yùn)算的問(wèn)題,和我們高級(jí)語(yǔ)言里的語(yǔ)法約束完全不是一回事,當(dāng)然也更不是overload的范疇。

腳本函數(shù)名重名有什么用呢?最直觀就是可以用來(lái)實(shí)現(xiàn)偽重載,比如我們不少免費(fèi)的主頁(yè)空間常常會(huì)給你強(qiáng)加彈出窗口廣告,我們就可以在頁(yè)面第一行寫(xiě)上:

script language="javascript"

var _open = window.open;

window.open = function() {}

/script

這樣就可以屏蔽掉不是加在頁(yè)面第一行上的彈出窗口廣告(加在第一行不能攔截,因?yàn)閣indow.open還沒(méi)有被'重載'open就先執(zhí)行了)。

js重名了怎么解決

首先,在重名的情況下一般需要對(duì)比這兩個(gè)js里面的內(nèi)容是不是一樣,

如果就是兩個(gè)不一樣的js話,那直接把一個(gè)js的名字修改一下,

然后在導(dǎo)入這個(gè)js的html頁(yè)面把這個(gè)js的路徑的名字改成你修改后的js文件名就可以了

js方法重名

一個(gè)頁(yè)面如果引用多個(gè)JS,或者像ASP.NET MVC,一個(gè)視圖包含多個(gè)子視圖,每個(gè)子視圖有自己的JS,那么變量、函數(shù)的重名沖突機(jī)會(huì)將會(huì)大增。

解決方案如下:用類(lèi)來(lái)封裝子頁(yè)的JS代碼

script type="text/javascript"

var globalName = "左直拳";

var A = function(){

var name = "leftfist";

function hi(){//私有函數(shù),外部無(wú)法訪問(wèn)

alert(name + " : Hi!");//私有變量,內(nèi)部可以直接訪問(wèn)

}

this.hiGlobal = function(){

alert(globalName + " : Hello!");//全局變量,內(nèi)部可以直接訪問(wèn)

}

this.sayHello = function(){//public函數(shù),外部可訪問(wèn)

hi();//私有函數(shù),內(nèi)部可以直接訪問(wèn)

this.hiGlobal();//公有函數(shù),內(nèi)部訪問(wèn)也要加上 this.

}

};

var fa = new A();

/script


本文題目:JavaScript重名,重名怎么區(qū)分
網(wǎng)頁(yè)URL:http://www.dlmjj.cn/article/dsgscch.html