為什么不需要定義
?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為什么不用定義就可以用?
?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為什么不用定義就可以用?
2016-07-19
舉報(bào)
2016-07-19
js可以隨時(shí)調(diào)用一個(gè)字母作為變量,第一次調(diào)用的時(shí)候隱含的就進(jìn)行了var聲明。在定義一個(gè)沒(méi)有被賦值的變量時(shí)是需要var定義的。
2016-07-19
進(jìn)行賦值req1=1(不帶var),執(zhí)行過(guò)程如下:
情況一
該語(yǔ)句是在函數(shù)體(function)內(nèi),就先在函數(shù)體內(nèi)找變量req1,如果找到,就是給它賦值;
如果找不到,繼續(xù)往上在函數(shù)體外找變量req1,找到賦值;還是找不到,就會(huì)自動(dòng)在函數(shù)體外定義變量var req1.
情況二(即你的語(yǔ)句)
全局,往上找變量req1,找到賦值;找不到,就會(huì)自動(dòng)定義變量var req1.
2016-07-19
JS 是弱類(lèi)型解析語(yǔ)言,可以定義也可以不定義,運(yùn)行時(shí)會(huì)自動(dòng)識(shí)別類(lèi)型
2016-07-19
未聲明,則識(shí)別為全局變量。
2016-07-19
js可以隨時(shí)調(diào)用一個(gè)字母作為變量,第一次調(diào)用的時(shí)候隱含的就進(jìn)行了var聲明。所以是不需要定義的。