關於全域變數和局部變數的那些事

來源:互聯網
上載者:User

變數對於學習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≠未定義呢

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.