關(guān)于變量定義var的疑問
對變量定義var沒有很明白其含義。
有學(xué)過c語言,在c中定義變量是根據(jù)數(shù)據(jù)類型的,比如int ?double ?char等,那var是指什么?
另外 “=” 是賦值 的含義,那 我定義 var num=alert(”99“),意思應(yīng)該是將alert(”99“)賦值給”num"吧? 為什么我去引用num的時(shí)候 num的賦值會(huì)是”99“呢?
對變量定義var沒有很明白其含義。
有學(xué)過c語言,在c中定義變量是根據(jù)數(shù)據(jù)類型的,比如int ?double ?char等,那var是指什么?
另外 “=” 是賦值 的含義,那 我定義 var num=alert(”99“),意思應(yīng)該是將alert(”99“)賦值給”num"吧? 為什么我去引用num的時(shí)候 num的賦值會(huì)是”99“呢?
2016-11-02
舉報(bào)
2016-11-02
首先JavaScript是一門弱類型的語言(個(gè)人感覺更加簡單),他會(huì)自動(dòng)隱式轉(zhuǎn)換類型,所有的變量命名都用var,不管是數(shù)組,整型。浮點(diǎn)型。
至于你使用那句,表示看不懂,后面是一個(gè)y語句,調(diào)用window的一個(gè)alert方法,輸出99,這樣一個(gè)方法復(fù)制給一個(gè)變量。語法上是錯(cuò)誤的,我用FIrefox,發(fā)現(xiàn)num會(huì)是一個(gè)undefined的值,這符合我理解,你這個(gè)99表示疑惑。
2016-11-02
你這個(gè)num的數(shù)據(jù)類型是undefined,并不是數(shù)字,只是再次引用的時(shí)候具有有數(shù)字類型的nan屬性。
你可以直接在alert(num); 看看會(huì)出來什么。
附上我回答是驗(yàn)證的代碼。調(diào)試js數(shù)據(jù)類型可以試試console.log();? 在瀏覽器的控制臺(tái)看效果。
2016-11-02
var就是variable的縮寫,在JS中的變量是弱類型,不需要指定類型,并且還可以隨時(shí)賦值改變它的類型。與C語言不同。另一個(gè)問題,我沒有去試,但是我覺得alert這個(gè)方法的返回值就是“”中輸出的值,num被賦值的是alert這個(gè)方法的返回值。
2016-11-02
你估計(jì)沒試過python,二者都是腳本語言,是動(dòng)態(tài)的。沒有類型之分。判斷類型的任務(wù)交給了后臺(tái)的解釋器。
interpreter
var a = 99
a = ‘one’
這里的a只是一個(gè)容器,當(dāng)我裝99時(shí)候a就是整數(shù),當(dāng)我