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

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

為什么不需要定義

?req1=app2(5,6);

?req2=app2(2,3);

?sumq=req1+req2;


document.write("req1的值:"+req1+"<br/>");

document.write("req2的值:"+req2+"<br/>");

document.write(req1+"與"+req2+"和:"+sumq);

這里的req1,req2,sumq為什么不用定義就可以用?


正在回答

5 回答

js可以隨時調用一個字母作為變量,第一次調用的時候隱含的就進行了var聲明。在定義一個沒有被賦值的變量時是需要var定義的。

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

guessljl 提問者

非常感謝!
2016-07-19 回復 有任何疑惑可以回復我~

進行賦值req1=1(不帶var),執行過程如下:

情況一

該語句是在函數體(function)內,就先在函數體內找變量req1,如果找到,就是給它賦值;

如果找不到,繼續往上在函數體外找變量req1,找到賦值;還是找不到,就會自動在函數體外定義變量var req1.

情況二(即你的語句)

全局,往上找變量req1,找到賦值;找不到,就會自動定義變量var req1.

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

JS 是弱類型解析語言,可以定義也可以不定義,運行時會自動識別類型

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

未聲明,則識別為全局變量。

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

js可以隨時調用一個字母作為變量,第一次調用的時候隱含的就進行了var聲明。所以是不需要定義的。

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

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468835    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

為什么不需要定義

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

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

幫助反饋 APP下載

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

公眾號

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