變量mychar在函數modifyclass外面怎么回事?
如下代碼中我凌亂了,關于執行順序,關于變量位置
html加載逐行解釋,解釋到onclick時會怎樣?
onclick用戶沒有點擊,繼續往下逐行解釋script,告訴瀏覽器有mychar變量,有modifyclass函數,
onclick用戶點擊后,執行modifyclass函數,此時直接使用mychar變量,是因為mychar是全局變量 嗎還是怎么解釋??
小白學js,還請熱情網友幫忙一下
不知道我描述清楚我的問題了沒
如下代碼中我凌亂了,關于執行順序,關于變量位置
html加載逐行解釋,解釋到onclick時會怎樣?
onclick用戶沒有點擊,繼續往下逐行解釋script,告訴瀏覽器有mychar變量,有modifyclass函數,
onclick用戶點擊后,執行modifyclass函數,此時直接使用mychar變量,是因為mychar是全局變量 嗎還是怎么解釋??
小白學js,還請熱情網友幫忙一下
不知道我描述清楚我的問題了沒
2016-06-27
舉報
2016-06-29
的確,示例中的代碼效果不能實現呀
2016-06-28
我跟你有一樣的疑惑,然后我自己打代碼驗證發現確實是給的例子代碼寫錯了,根本執行不出那個結果,html是按照代碼編寫的先后順序執行的(函數調用除外),例子中函數調用在前,但是它所使用的變量卻沒有經過聲明,這是錯的.我更改過的代碼可以運行出來,你可以參考一下:
<html>
<head>
<meta charset="utf-8">
<title>className屬性</title>
<style type="text/css">
? input{font-size:10px;}
? .one{width:200px;background-color: #ccc;}
? .two{font-size:18px;color:#F00;}
</style>
</head>
<body>
? <p id="con" class="one">javascript</p>
? ?<script type="text/javascript">
? var mychar=document.getElementById("con");
? document.write("p元素的class值為:"+mychar.className+"<br /");
? function change(){
? ? mychar.className="two";}
? </script>
? <form>
? ? <input type="button" value="點擊更改" onclick="change()">
? </form>
</body>
</html>
2016-06-27
因為mychar實在函數外定義的全局變量,已經獲得啦,所以可以在函數中直接調用