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

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

想問一下var pwd放在外面不是全局變量嗎?為什么要放在函數(shù)里面才行

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title> 鼠標點擊事件 </title>

<script type="text/javascript">


var pwd=document.getElementById("password").value;

? ? function message(){

? ? ? ??

? ? ? ? if(pwd==""){

? ? ? ?confirm("請輸入密碼后,再單擊確定!");?

? ? ? ? }else{

? ? ? ? ? ? ?alert("登陸成功");

? ? ? ? }

? ? }

</script>

</head>

<body>

<form>

密碼:<input name="password" type="password" id="password">

<input name="確定" type="button" value="確定" onclick="message()"/>

</form>

</body>

</html>


正在回答

2 回答

按照加載當順序,當你加載 js?的時候,DOM?都還沒有構建完成呢,你拿到的 document.getElementById("password")?是個?null,null?怎么會有?value?呢?所以一定會報錯。

放在函數(shù)里面是因為當你點擊的時候?DOM?已經(jīng)構建完成了,所以 pwd?是一定存在的,所以不會報錯。

另外放在函數(shù)外面的確是全局變量,但是在網(wǎng)頁加載順序上不對,js?是個腳本語言,不能沒有?DOM?的時候你去操作了?DOM,那瀏覽器渲染這個?DOM 的時候是聽誰的。






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

你可以把整段script移到body那邊去,就可以寫成全局變量了。個人理解是網(wǎng)頁按順序加載下來,如果全局變量的話,取不到后加載的節(jié)點。等網(wǎng)頁加載完成,在聲明變量才可以取到,所以寫在函數(shù)內。

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

舉報

0/150
提交
取消

想問一下var pwd放在外面不是全局變量嗎?為什么要放在函數(shù)里面才行

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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