變量mychar在函數(shù)modifyclass外面怎么回事?
如下代碼中我凌亂了,關(guān)于執(zhí)行順序,關(guān)于變量位置
html加載逐行解釋,解釋到onclick時會怎樣?
onclick用戶沒有點擊,繼續(xù)往下逐行解釋script,告訴瀏覽器有mychar變量,有modifyclass函數(shù),
onclick用戶點擊后,執(zhí)行modifyclass函數(shù),此時直接使用mychar變量,是因為mychar是全局變量 嗎還是怎么解釋??
小白學js,還請熱情網(wǎng)友幫忙一下
不知道我描述清楚我的問題了沒
2016-06-29
的確,示例中的代碼效果不能實現(xiàn)呀
2016-06-28
我跟你有一樣的疑惑,然后我自己打代碼驗證發(fā)現(xiàn)確實是給的例子代碼寫錯了,根本執(zhí)行不出那個結(jié)果,html是按照代碼編寫的先后順序執(zhí)行的(函數(shù)調(diào)用除外),例子中函數(shù)調(diào)用在前,但是它所使用的變量卻沒有經(jīng)過聲明,這是錯的.我更改過的代碼可以運行出來,你可以參考一下:
<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實在函數(shù)外定義的全局變量,已經(jīng)獲得啦,所以可以在函數(shù)中直接調(diào)用