變數對於學習js,學習程式語言的同學在熟悉不過了,在這裡就不在闡述官方的定義了,網路上太多了,今天我們就從生活中來理解他
1.什麼是變數?
例如:
一個水杯裡面裝了水,這個水杯就是變數;
一瓶啤酒,這個啤酒瓶就是變數;
變數就是一個載體,一個媒介
2.定義變數
var a=12;//typeof a=Numer
var a='aaa' //typeof a =string
由此可見變數的型別取決於給他付了什麼值
例如,一個杯子,裝了水就是水杯,裝了酒就是酒杯,裝了醋就是醋瓶
3.變數類型
變數型別分為:基本型別與參考型別
基本型別分為:Number(數字型別),String(字串型別),Boolean(布林型別),Undefined(未定義),Null
引用類型:大多數是Obiect(對象)
基本類型值是保存在棧內存中的簡單的數據,他在內存中佔一個位置;
引用類型值是保存在堆內存中的對象,在堆疊記憶體中存放的是位址,這個位址指向堆疊記憶體中的物件
1.局部變數
functionaaa()
{
vara=10
; }
functionbbb()
{
alert(a)
}
aaa()
bbb()
運行結果:錯誤:「a」未定義,a是局部變量,他只屬於函數aaa,並不屬於函數bbb
2.全域變數1
vara
functionaaa() {
vara=10;
}
functionbbb()
{
alert(a)
aaa()
bbb()
aaa()
bbb()
aaa() bbb()
aaa()
bbb() aaa()
bbb() aaa() bbb() aaa() bbb()
運行結果
:彈出undefined,這也是變數的類型之一,只不過是undefined類型,他並不同等與第一種的未定義
變數的型別是由賦給變數的值決定的,這時候bbb函數裡的a是全域變量,雖然var了,但沒有指定值,所以是undefined
3.全域變數2
複製程式碼
程式碼如下:
vara functionaaa() { a=10; } functionbbb() { alert(a) } { () bbb() 運行結果:10,a是全域變數並且透過函數aaa賦了值-10 ps:我們常稱undefined是未定義,都是透過1和2,是不是可以說undefined≠未定義呢