亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

全局變量不是哪里都能調用嗎?為什么全局變量不能用在函數體內嗎?

全局變量不是哪里都能調用嗎?為什么全局變量不能用在函數體內嗎?

IT騍 2016-09-05 00:10:51
?比如以下?var fhus1=document.getElementById("gk2"); 放function{}里面成局部變量才有用。<script type="text/javascript">?? ??? ??? ?var fhus1=document.getElementById("gk2");?? ??? ??? ?function hujy(){?? ??? ??? ??? ?fhus1.display="block";?? ??? ??? ??? ?fhus1.style.color="#0000FF";?? ??? ??? ??? ?fhus1.style.background="crimson";?? ??? ??? ?}?? ??? ?</script>
查看完整描述

4 回答

已采納
?
檸煙夏季

TA貢獻15條經驗 獲得超14個贊

主要在于你執行document.getElementById("gk2"); 這句代碼的時候 , 對應的DOM對象有沒有加載完成

如果沒有加載完成 , 這句代碼是獲取不到DOM對象的 , 返回null , 當然在你的函數里面就無法使用

HTML文本是由瀏覽器順序掃描的 , 如果你嵌入的<script>放在了<head>里面 , 那么<body>里面的DOM元素此時肯定沒有加載完

查看完整回答
2 反對 回復 2016-09-05
  • IT騍
    IT騍
    那放function里面為什么就能用了呢
  • 檸煙夏季
    檸煙夏季
    只是在于你調用這個函數的時候, 頁面DOM結構如果已經加載完成了, getElementById就可以獲得到正確的結果了 , 關鍵不在于函數的里面或外面 , 只是這句代碼何時執行的問題
  • 清晨漫步
    清晨漫步
    onload指示頁面包含圖片等文件在內的所有元素都加載完成。 document.ready表示文檔結構已經加載完成(不包含圖片等非文字媒體文件)。
點擊展開后面2
?
丶前男友

TA貢獻42條經驗 獲得超18個贊

我的導師跟我說過一句話,js代碼最好寫在</body></html>之間~我也不知道你是不是因為你js寫前面的問題,你最好把代碼全復制上來

查看完整回答
反對 回復 2016-09-05
?
stone310

TA貢獻361條經驗 獲得超191個贊

應該是要加上window.onload吧,是不是因為你賦值的時候元素還未加載好

查看完整回答
反對 回復 2016-09-05
  • 4 回答
  • 1 關注
  • 2816 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號