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