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

為了賬號安全,請及時綁定郵箱和手機立即綁定

全局變量與局部變量問題,萌新提問~

匿名函數(shù)不能直接應用全局變量嗎?我這樣寫就不執(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 回答

上面那位同學已經(jīng)講到點子上了,你的代碼毫無疑問是沒有錯的,但是為什么不行的,因為如果你在函數(shù)外面獲取這個?mychar變量是獲取不到的,瀏覽器解析你的頁面代碼是從上到下的,當看到函數(shù)外的你的全局變量的時候,dom并沒有開始加載,這時候他會疑問:'你是誰?'所以變量mychar的至為null;

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

1 回復 有任何疑惑可以回復我~

讀了后面那節(jié)課我意識到我上面這個回答錯誤了,原來和PHP的不一樣。

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

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

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

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

1 回復 有任何疑惑可以回復我~

函數(shù)是一個獨立的玩意,它只認識傳進來的參數(shù),不認識其他變量什么的。

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

0 回復 有任何疑惑可以回復我~

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

0 回復 有任何疑惑可以回復我~
<!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>

因為跟頁面加載順序有關(guān) 。先加載<p>標簽里的內(nèi)容,再抓取就只要一次

0 回復 有任何疑惑可以回復我~

http://idcbgp.cn/qadetail/199016

0 回復 有任何疑惑可以回復我~
#1

vivian_菱

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

你注釋掉了...

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

全局變量與局部變量問題,萌新提問~

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

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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