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