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

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

為啥函數(shù)外聲明了變量,在函數(shù)里面不能用,了解一下吧

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>display</title>
??? <script type="text/javascript">
??? var mychar = document.getElementById("con");
??????? function hidetext()?
??{?
??mychar.style.display="none";
???????
??}?
??function showtext()?
??{?
??mychar.style.display="block";
???????
??}
??? </script>
</head>
<body>?
??? <h1>JavaScript</h1>?
??? <p id="con">做為一個(gè)Web開(kāi)發(fā)師來(lái)說(shuō),如果你想提供漂亮的網(wǎng)頁(yè)、令用戶滿意的上網(wǎng)體驗(yàn),JavaScript是必不可少的工具。</p>
??? <form>
?????? <input type="button" onclick="hidetext()" value="隱藏內(nèi)容" />
?????? <input type="button" onclick="showtext()" value="顯示內(nèi)容" />
??? </form>
</body>
</html>

正在回答

2 回答

因?yàn)?/p>

步驟一:var mychar = document.getElementById("con");這個(gè)語(yǔ)句是把p標(biāo)簽的對(duì)象賦值給mycahr。

而這個(gè)動(dòng)作是通過(guò)點(diǎn)擊“隱藏內(nèi)容”和“顯示內(nèi)容”來(lái)執(zhí)行的。

你點(diǎn)擊隱藏內(nèi)容執(zhí)行hidetext()函數(shù),而函數(shù)體內(nèi)就執(zhí)行了步驟一,然后執(zhí)行mychar.style.display="none";并隱藏內(nèi)容。

顯示內(nèi)容也是如此。

你把var mychar = document.getElementById("con");放到函數(shù)體外的時(shí)候,當(dāng)你點(diǎn)擊隱藏或顯示內(nèi)容按鈕的時(shí)候,這個(gè)語(yǔ)句就沒(méi)有執(zhí)行嘛。

這樣子就OK了。

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


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

Test_Engineer

var mychar = null; function hidetext() { mychar= document.getElementById("con"); mychar.style.display="none"; } function showtext() { mychar = document.getElementById("con"); mychar.style.display="block"; }
2018-11-25 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕仙3797189 提問(wèn)者 回復(fù) Test_Engineer

你說(shuō)的這種也是對(duì)的,我下午發(fā)現(xiàn)另外一種方法,可能是我之前概念的錯(cuò)誤吧,是把<script>整體標(biāo)簽放在<p>標(biāo)簽的下面,這樣電腦處理程序時(shí),就能識(shí)別出<script>中函數(shù)外的mychar的變量賦值了。
2018-11-25 回復(fù) 有任何疑惑可以回復(fù)我~
#3

HungerCheung 回復(fù) 慕仙3797189 提問(wèn)者

牛批~
2018-12-07 回復(fù) 有任何疑惑可以回復(fù)我~

我也被你的問(wèn)題困擾了很久....

body中最后加<script>var mychar = document.getElementById("con");</script>就好了

先執(zhí)行p id=con后才能被getElementById獲取到,放在head中先執(zhí)行g(shù)etElementById的話根本沒(méi)有con這個(gè)元素。

函數(shù)是調(diào)用的,順序不影響執(zhí)行,所以放在函數(shù)中就沒(méi)有順序問(wèn)題了。

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

qq_慕工程9502817

大佬,這是什么原理啊,好神奇啊,求解釋
2018-12-16 回復(fù) 有任何疑惑可以回復(fù)我~
#2

Assain 回復(fù) qq_慕工程9502817

其實(shí)這就是一個(gè)瀏覽器解釋順序的一個(gè)原理。由于此script標(biāo)簽先于head被瀏覽器解釋了,而根據(jù)從上往下解釋的順序,那么是不是先解釋head再解釋Body的內(nèi)容?那么是不是就是在script標(biāo)簽被解釋后才開(kāi)始解釋body內(nèi)部的p標(biāo)簽的內(nèi)容,那么在script語(yǔ)句中的var mychar = document.getElementById("con");又不在函數(shù)體內(nèi)(函數(shù)體需要調(diào)用才能被解釋),即優(yōu)先執(zhí)行。所以便在script被解釋的時(shí)候那么它并沒(méi)有找到id為"con"的對(duì)象,因此便會(huì)出現(xiàn)以上的問(wèn)題。
2019-01-29 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

為啥函數(shù)外聲明了變量,在函數(shù)里面不能用,了解一下吧

我要回答 關(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)