關于變量定義var的疑問
對變量定義var沒有很明白其含義。
有學過c語言,在c中定義變量是根據數據類型的,比如int ?double ?char等,那var是指什么?
另外 “=” 是賦值 的含義,那 我定義 var num=alert(”99“),意思應該是將alert(”99“)賦值給”num"吧? 為什么我去引用num的時候 num的賦值會是”99“呢?
對變量定義var沒有很明白其含義。
有學過c語言,在c中定義變量是根據數據類型的,比如int ?double ?char等,那var是指什么?
另外 “=” 是賦值 的含義,那 我定義 var num=alert(”99“),意思應該是將alert(”99“)賦值給”num"吧? 為什么我去引用num的時候 num的賦值會是”99“呢?
2016-11-02
舉報
2016-11-02
首先JavaScript是一門弱類型的語言(個人感覺更加簡單),他會自動隱式轉換類型,所有的變量命名都用var,不管是數組,整型。浮點型。
至于你使用那句,表示看不懂,后面是一個y語句,調用window的一個alert方法,輸出99,這樣一個方法復制給一個變量。語法上是錯誤的,我用FIrefox,發現num會是一個undefined的值,這符合我理解,你這個99表示疑惑。
2016-11-02
你這個num的數據類型是undefined,并不是數字,只是再次引用的時候具有有數字類型的nan屬性。
你可以直接在alert(num); 看看會出來什么。
附上我回答是驗證的代碼。調試js數據類型可以試試console.log();? 在瀏覽器的控制臺看效果。
<!DOCTYPE?html> <html> ????<head> ????????<meta?charset="UTF-8"> ????????<title>js-dom</title> ????</head> ????<body> ????????<input?type="button"?onclick="sun()"?value="1"??/> ????????<p?id="chr1">test</p> ???????? ???????? ????????<script?type="text/javascript"> ????????????function?sun(){ ????????????????var?num=alert("99"); ????????????????alert(num); ???????????????? ????????????????var?x?=?10; ????????????????var?a?=?alert(document.getElementById("chr1")); ????????????????var?b?=?document.getElementById("char1"); ????????????????var?c?=?document.getElementById("chr1"); ????????????????var?d?=?document.getElementById("chr1").getAttribute("value"); ????????????????var?e?=?alert("66"); ????????????????var?f?=?e?+?10; ????????????????var?g?=?x?+?10; ????????????????alert(f); ????????????????console.log(x); ????????????????console.log(a); ????????????????console.log(b); ????????????????console.log(c); ????????????????console.log(d); ????????????????console.log(e); ????????????????console.log(f); ????????????????console.log(g); ???????????????? ????????????}???? ????????</script> ???????? ????</body> </html>2016-11-02
var就是variable的縮寫,在JS中的變量是弱類型,不需要指定類型,并且還可以隨時賦值改變它的類型。與C語言不同。另一個問題,我沒有去試,但是我覺得alert這個方法的返回值就是“”中輸出的值,num被賦值的是alert這個方法的返回值。
2016-11-02
你估計沒試過python,二者都是腳本語言,是動態的。沒有類型之分。判斷類型的任務交給了后臺的解釋器。
interpreter
var a = 99
a = ‘one’
這里的a只是一個容器,當我裝99時候a就是整數,當我