關于變量定義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();? 在瀏覽器的控制臺看效果。
2016-11-02
var就是variable的縮寫,在JS中的變量是弱類型,不需要指定類型,并且還可以隨時賦值改變它的類型。與C語言不同。另一個問題,我沒有去試,但是我覺得alert這個方法的返回值就是“”中輸出的值,num被賦值的是alert這個方法的返回值。
2016-11-02
你估計沒試過python,二者都是腳本語言,是動態的。沒有類型之分。判斷類型的任務交給了后臺的解釋器。
interpreter
var a = 99
a = ‘one’
這里的a只是一個容器,當我裝99時候a就是整數,當我