關(guān)于全局變量和局部變量的那些事
更新時間:2013年01月11日 17:12:18 作者:
關(guān)于全局變量和局部變量的那些事,有哪些事呢?不要走開,接下來將詳細介紹,感興趣的朋友可以了解下哦
變量對于學(xué)習(xí)js,學(xué)習(xí)編程語言的同學(xué)在熟悉不過了,在這里就不在闡述官方的定義了,網(wǎng)上太多了,今天我們就從生活中來理解他
1.什么是變量?
比如:
一個水杯里面裝了水,這個水杯就是變量;
一瓶啤酒,這個啤酒瓶就是變量;
變量就是一個載體,一個媒介
2.定義變量
var a=12;//typeof a=Numer
var a=‘a(chǎn)aa' //typeof a =string
由此可見 變量的類型取決于給他付了什么值
例如,一個杯子,裝了水就是水杯,裝了酒就是酒杯,裝了醋就是醋瓶
3.變量類型
變量類型分為:基本類型和引用類型
基本類型分為:Number(數(shù)字類型),String(字符串類型),Boolean(布爾類型),Undefined(未定義),Null
引用類型:大多數(shù)是Obiect(對象)
基本類型值是保存在棧內(nèi)存中的簡單的數(shù)據(jù),他在內(nèi)存中占一個位置;
引用類型值是保存在堆內(nèi)存中的對象,在棧內(nèi)存中存放的是地址,這個地址指向堆內(nèi)存中的對象
1.局部變量
<scripttype="text/javascript">
functionaaa()
{
vara=10;
}
functionbbb()
{
alert(a)
}
aaa()
bbb()
</script>
運行結(jié)果:錯誤:“a”未定義,a是局部變量,他只屬于函數(shù)aaa,并不屬于函數(shù)bbb
2.全局變量1
<scripttype="text/javascript">
vara
functionaaa()
{
vara=10;
}
functionbbb()
{
alert(a)
}
aaa()
bbb()
</script>
運行結(jié)果:彈出undefined,這也是變量的類型之一,只不過是undefined類型,他并不同等與第一種的未定義
變量的類型是由賦給變量的值決定的,這個時候bbb函數(shù)里的a是全局變量,雖然var了,但是并沒有指定值,所以是undefined
3.全局變量2
<scripttype="text/javascript">
vara
functionaaa()
{
a=10;
}
functionbbb()
{
alert(a)
}
aaa()
bbb()
</script>
運行結(jié)果:10,a是全局變量并且通過函數(shù)aaa賦了值——10
ps:我們經(jīng)常稱undefined是未定義,都是通過1和2,是不是可以說undefined≠未定義呢
1.什么是變量?
比如:
一個水杯里面裝了水,這個水杯就是變量;
一瓶啤酒,這個啤酒瓶就是變量;
變量就是一個載體,一個媒介
2.定義變量
var a=12;//typeof a=Numer
var a=‘a(chǎn)aa' //typeof a =string
由此可見 變量的類型取決于給他付了什么值
例如,一個杯子,裝了水就是水杯,裝了酒就是酒杯,裝了醋就是醋瓶
3.變量類型
變量類型分為:基本類型和引用類型
基本類型分為:Number(數(shù)字類型),String(字符串類型),Boolean(布爾類型),Undefined(未定義),Null
引用類型:大多數(shù)是Obiect(對象)
基本類型值是保存在棧內(nèi)存中的簡單的數(shù)據(jù),他在內(nèi)存中占一個位置;
引用類型值是保存在堆內(nèi)存中的對象,在棧內(nèi)存中存放的是地址,這個地址指向堆內(nèi)存中的對象
1.局部變量
復(fù)制代碼 代碼如下:
<scripttype="text/javascript">
functionaaa()
{
vara=10;
}
functionbbb()
{
alert(a)
}
aaa()
bbb()
</script>
運行結(jié)果:錯誤:“a”未定義,a是局部變量,他只屬于函數(shù)aaa,并不屬于函數(shù)bbb
2.全局變量1
復(fù)制代碼 代碼如下:
<scripttype="text/javascript">
vara
functionaaa()
{
vara=10;
}
functionbbb()
{
alert(a)
}
aaa()
bbb()
</script>
運行結(jié)果:彈出undefined,這也是變量的類型之一,只不過是undefined類型,他并不同等與第一種的未定義
變量的類型是由賦給變量的值決定的,這個時候bbb函數(shù)里的a是全局變量,雖然var了,但是并沒有指定值,所以是undefined
3.全局變量2
復(fù)制代碼 代碼如下:
<scripttype="text/javascript">
vara
functionaaa()
{
a=10;
}
functionbbb()
{
alert(a)
}
aaa()
bbb()
</script>
運行結(jié)果:10,a是全局變量并且通過函數(shù)aaa賦了值——10
ps:我們經(jīng)常稱undefined是未定義,都是通過1和2,是不是可以說undefined≠未定義呢
相關(guān)文章
JavaScript高級程序設(shè)計(第3版)學(xué)習(xí)筆記8 js函數(shù)(中)
接著看函數(shù)——這個具有魔幻色彩的對象。在上篇文章中說函數(shù)內(nèi)部屬性時,還遺留了一個this內(nèi)部屬性沒有解釋,不過在說this之前,我想先說一說執(zhí)行環(huán)境和作用域的概念2012-10-10溫故知新——JavaScript中的字符串連接問題最全總結(jié)(推薦)
這篇文章主要介紹了JS中的字符串連接問題,ECMAScript 中最常見的一個問題是字符串連接的性能。在調(diào)用 join() 方法時才會發(fā)生連接操作,具體操作步驟大家可查看下文的詳細講解,感興趣的小伙伴們可以參考一下。2017-08-08表單的焦點順序tabindex和對應(yīng)enter鍵提交
表單的焦點tab鍵順序:tabindex決定,如果值缺省,擇按順序一一對應(yīng),想詳細了解此功能應(yīng)用的朋友可以參考下2013-01-01在Javascript中 聲明時用"var"與不用"var"的區(qū)別
Javascript聲明變量的時候,雖然用var關(guān)鍵字聲明和不用關(guān)鍵字聲明,很多時候運行并沒有問題,但是這兩種方式還是有區(qū)別的2013-04-04JavaScript中的數(shù)據(jù)類型轉(zhuǎn)換方法小結(jié)
這篇文章主要介紹了JavaScript中的數(shù)據(jù)類型轉(zhuǎn)換方法,是JavaScript入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-10-10