關(guān)于全局變量和局部變量的那些事
更新時(shí)間:2013年01月11日 17:12:18 作者:
關(guān)于全局變量和局部變量的那些事,有哪些事呢?不要走開(kāi),接下來(lái)將詳細(xì)介紹,感興趣的朋友可以了解下哦
變量對(duì)于學(xué)習(xí)js,學(xué)習(xí)編程語(yǔ)言的同學(xué)在熟悉不過(guò)了,在這里就不在闡述官方的定義了,網(wǎng)上太多了,今天我們就從生活中來(lái)理解他
1.什么是變量?
比如:
一個(gè)水杯里面裝了水,這個(gè)水杯就是變量;
一瓶啤酒,這個(gè)啤酒瓶就是變量;
變量就是一個(gè)載體,一個(gè)媒介
2.定義變量
var a=12;//typeof a=Numer
var a=‘a(chǎn)aa' //typeof a =string
由此可見(jiàn) 變量的類(lèi)型取決于給他付了什么值
例如,一個(gè)杯子,裝了水就是水杯,裝了酒就是酒杯,裝了醋就是醋瓶
3.變量類(lèi)型
變量類(lèi)型分為:基本類(lèi)型和引用類(lèi)型
基本類(lèi)型分為:Number(數(shù)字類(lèi)型),String(字符串類(lèi)型),Boolean(布爾類(lèi)型),Undefined(未定義),Null
引用類(lèi)型:大多數(shù)是Obiect(對(duì)象)
基本類(lèi)型值是保存在棧內(nèi)存中的簡(jiǎn)單的數(shù)據(jù),他在內(nèi)存中占一個(gè)位置;
引用類(lèi)型值是保存在堆內(nèi)存中的對(duì)象,在棧內(nèi)存中存放的是地址,這個(gè)地址指向堆內(nèi)存中的對(duì)象
1.局部變量
<scripttype="text/javascript">
functionaaa()
{
vara=10;
}
functionbbb()
{
alert(a)
}
aaa()
bbb()
</script>
運(yùn)行結(jié)果:錯(cuò)誤:“a”未定義,a是局部變量,他只屬于函數(shù)aaa,并不屬于函數(shù)bbb
2.全局變量1
<scripttype="text/javascript">
vara
functionaaa()
{
vara=10;
}
functionbbb()
{
alert(a)
}
aaa()
bbb()
</script>
運(yùn)行結(jié)果:彈出undefined,這也是變量的類(lèi)型之一,只不過(guò)是undefined類(lèi)型,他并不同等與第一種的未定義
變量的類(lèi)型是由賦給變量的值決定的,這個(gè)時(shí)候bbb函數(shù)里的a是全局變量,雖然var了,但是并沒(méi)有指定值,所以是undefined
3.全局變量2
<scripttype="text/javascript">
vara
functionaaa()
{
a=10;
}
functionbbb()
{
alert(a)
}
aaa()
bbb()
</script>
運(yùn)行結(jié)果:10,a是全局變量并且通過(guò)函數(shù)aaa賦了值——10
ps:我們經(jīng)常稱(chēng)undefined是未定義,都是通過(guò)1和2,是不是可以說(shuō)undefined≠未定義呢
1.什么是變量?
比如:
一個(gè)水杯里面裝了水,這個(gè)水杯就是變量;
一瓶啤酒,這個(gè)啤酒瓶就是變量;
變量就是一個(gè)載體,一個(gè)媒介
2.定義變量
var a=12;//typeof a=Numer
var a=‘a(chǎn)aa' //typeof a =string
由此可見(jiàn) 變量的類(lèi)型取決于給他付了什么值
例如,一個(gè)杯子,裝了水就是水杯,裝了酒就是酒杯,裝了醋就是醋瓶
3.變量類(lèi)型
變量類(lèi)型分為:基本類(lèi)型和引用類(lèi)型
基本類(lèi)型分為:Number(數(shù)字類(lèi)型),String(字符串類(lèi)型),Boolean(布爾類(lèi)型),Undefined(未定義),Null
引用類(lèi)型:大多數(shù)是Obiect(對(duì)象)
基本類(lèi)型值是保存在棧內(nèi)存中的簡(jiǎn)單的數(shù)據(jù),他在內(nèi)存中占一個(gè)位置;
引用類(lèi)型值是保存在堆內(nèi)存中的對(duì)象,在棧內(nèi)存中存放的是地址,這個(gè)地址指向堆內(nèi)存中的對(duì)象
1.局部變量
復(fù)制代碼 代碼如下:
<scripttype="text/javascript">
functionaaa()
{
vara=10;
}
functionbbb()
{
alert(a)
}
aaa()
bbb()
</script>
運(yùn)行結(jié)果:錯(cuò)誤:“a”未定義,a是局部變量,他只屬于函數(shù)aaa,并不屬于函數(shù)bbb
2.全局變量1
復(fù)制代碼 代碼如下:
<scripttype="text/javascript">
vara
functionaaa()
{
vara=10;
}
functionbbb()
{
alert(a)
}
aaa()
bbb()
</script>
運(yùn)行結(jié)果:彈出undefined,這也是變量的類(lèi)型之一,只不過(guò)是undefined類(lèi)型,他并不同等與第一種的未定義
變量的類(lèi)型是由賦給變量的值決定的,這個(gè)時(shí)候bbb函數(shù)里的a是全局變量,雖然var了,但是并沒(méi)有指定值,所以是undefined
3.全局變量2
復(fù)制代碼 代碼如下:
<scripttype="text/javascript">
vara
functionaaa()
{
a=10;
}
functionbbb()
{
alert(a)
}
aaa()
bbb()
</script>
運(yùn)行結(jié)果:10,a是全局變量并且通過(guò)函數(shù)aaa賦了值——10
ps:我們經(jīng)常稱(chēng)undefined是未定義,都是通過(guò)1和2,是不是可以說(shuō)undefined≠未定義呢
相關(guān)文章
JavaScript入門(mén)教程(4) js瀏覽器對(duì)象
navigator 瀏覽器對(duì)象,包含了正在使用的 Navigator 的版本信息。反映了當(dāng)前使用的瀏覽器的資料。JavaScript 客戶(hù)端運(yùn)行時(shí)刻引擎自動(dòng)創(chuàng)建 navigator 對(duì)象。2009-01-01
JavaScript 高級(jí)篇之函數(shù) (四)
本節(jié)我將分享我對(duì)函數(shù),嵌套函數(shù),作為數(shù)據(jù)的函數(shù),作為對(duì)象的函數(shù)等2012-04-04
Javascript基礎(chǔ)知識(shí)(一)核心基礎(chǔ)語(yǔ)法與事件模型
這篇文章主要介紹了Javascript用途及語(yǔ)法,傳統(tǒng)事件及現(xiàn)代事件,是最近這段時(shí)間個(gè)人學(xué)習(xí)javascript的一些心得,分享給大家,有需要的朋友可以參考下2014-09-09
JavaScript中對(duì)JSON對(duì)象的基本操作示例
JSON格式本就發(fā)自于JavaScript中的對(duì)象和數(shù)組,所以js操作起來(lái)自然也是最為簡(jiǎn)單原始,接下來(lái)我們就來(lái)看一些常用的JavaScript中對(duì)JSON對(duì)象的基本操作示例2016-05-05
JavaScript基礎(chǔ)之立即執(zhí)行函數(shù)
這篇文章主要介紹了如何理解JavaScript中的立即執(zhí)行函數(shù),幫助大家更好的學(xué)習(xí)JavaScript,感興趣的朋友可以了解下2021-11-11
javascript學(xué)習(xí)筆記(十三) js閉包介紹(轉(zhuǎn))
閉包(closure)是Javascript語(yǔ)言的一個(gè)難點(diǎn),也是它的特色,很多高級(jí)應(yīng)用都要依靠閉包實(shí)現(xiàn)2012-06-06

