第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

全局變量與局部變量問(wèn)題,萌新提問(wèn)~

匿名函數(shù)不能直接應(yīng)用全局變量嗎?我這樣寫(xiě)就不執(zhí)行了?

????????var?mychar?=?document.getElementById("con");
????????function?hidetext(){
????????????//var?mychar?=?document.getElementById("con");
????????????mychar.style.display="none";
????????}??
????????function?showtext(){??
????????????//var?mychar?=?document.getElementById("con");
????????????mychar.style.display="block";
????????}


正在回答

7 回答

上面那位同學(xué)已經(jīng)講到點(diǎn)子上了,你的代碼毫無(wú)疑問(wèn)是沒(méi)有錯(cuò)的,但是為什么不行的,因?yàn)槿绻阍诤瘮?shù)外面獲取這個(gè)?mychar變量是獲取不到的,瀏覽器解析你的頁(yè)面代碼是從上到下的,當(dāng)看到函數(shù)外的你的全局變量的時(shí)候,dom并沒(méi)有開(kāi)始加載,這時(shí)候他會(huì)疑問(wèn):'你是誰(shuí)?'所以變量mychar的至為null;

而在函數(shù)里面可以執(zhí)行是因?yàn)楫?dāng)你點(diǎn)擊的時(shí)候dom已經(jīng)加載完畢,他可以正常的開(kāi)心獲取到元素節(jié)點(diǎn)‘哦,我的id是text啊’

1 回復(fù) 有任何疑惑可以回復(fù)我~

讀了后面那節(jié)課我意識(shí)到我上面這個(gè)回答錯(cuò)誤了,原來(lái)和PHP的不一樣。

在js里面,函數(shù)體外的聲明的是全局變量,函數(shù)內(nèi)也是可以使用的。

那為什么在這里你用了沒(méi)效果?是因?yàn)?,瀏覽器是一行一行渲染HTML頁(yè)面的,讀到?var mychar = document.getElementById("con"); 這一句的時(shí)候,它還沒(méi)讀到下面的body部分,所以壓根不知道con是什么東西,所以返回的是個(gè)NULL。

那在這樣的情況下,用戶點(diǎn)擊按鈕,觸發(fā)事件調(diào)用了函數(shù)之后,函數(shù)里面的?mychar 是個(gè)NULL,所以就沒(méi)有效果了。

所以一般都會(huì)把js代碼放在底部,比如你試試把整個(gè)?<script></script>的代碼放到</form> 后面,再點(diǎn)按鈕就會(huì)發(fā)現(xiàn)有效了。

1 回復(fù) 有任何疑惑可以回復(fù)我~

函數(shù)是一個(gè)獨(dú)立的玩意,它只認(rèn)識(shí)傳進(jìn)來(lái)的參數(shù),不認(rèn)識(shí)其他變量什么的。

除非你在函數(shù)體里面定義變量為全局變量,就可以引用函數(shù)體外的變量的值了。

0 回復(fù) 有任何疑惑可以回復(fù)我~

你想想,如果當(dāng)你調(diào)用hidetext()函數(shù)的時(shí)候,會(huì)執(zhí)行hidetext()函數(shù)上面的語(yǔ)句嗎???????

0 回復(fù) 有任何疑惑可以回復(fù)我~
<!DOCTYPE?html>
<html>
<head>
<meta?charset="UTF-8">
<title>顯示隱藏內(nèi)容</title>
</head>
<body>
<p?id="text">我是劉芫</p>
<script?type="text/javascript">
var?mychar?=?document.getElementById("text");

function?show()?{
mychar.style.display?=?"none";
}

function?hidd()?{
mychar.style.display?=?"block";
}
</script>
<input?type="button"?name="button"??value="顯示內(nèi)容"?onclick="show()"?/>
<input?type="button"?name="button"??value="隱藏內(nèi)容"?onclick="hidd()"?/>
</body>
</html>

因?yàn)楦?yè)面加載順序有關(guān) 。先加載<p>標(biāo)簽里的內(nèi)容,再抓取就只要一次

0 回復(fù) 有任何疑惑可以回復(fù)我~

http://idcbgp.cn/qadetail/199016

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

vivian_菱

https://zhidao.baidu.com/question/368802443099081324.html
2017-03-13 回復(fù) 有任何疑惑可以回復(fù)我~

你注釋掉了...

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

全局變量與局部變量問(wèn)題,萌新提問(wèn)~

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)