溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JS變量有哪些類(lèi)型

發(fā)布時(shí)間:2021-09-09 10:38:18 來(lái)源:億速云 閱讀:137 作者:chen 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要講解了“JS變量有哪些類(lèi)型”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“JS變量有哪些類(lèi)型”吧!

  基本類(lèi)型和引用類(lèi)型

  在上一小節(jié),我們介紹了JavaScript中的數(shù)據(jù)類(lèi)型,其中基本類(lèi)型如數(shù)字,布爾值,它們?cè)趦?nèi)存中都有固定的大小,我們通過(guò)變量來(lái)直接訪問(wèn)基本類(lèi)型的數(shù)據(jù)。而對(duì)于引用類(lèi)型,如對(duì)象,數(shù)組和函數(shù),由于它們的大小在原則上是不受任何限制的,故我們通過(guò)對(duì)其引用的訪問(wèn)來(lái)訪問(wèn)它們本身,引用本身是一個(gè)地址,即指向真實(shí)存儲(chǔ)復(fù)雜對(duì)象的位置。

  基本類(lèi)型和引用類(lèi)型的區(qū)別是比較明顯的,我們來(lái)看幾個(gè)例子:

  var x=1;//數(shù)字x,基本類(lèi)型

  var y=x;//數(shù)字y,基本類(lèi)型

  print(x);

  print(y);

  x=2;//修改x的值

  print(x);//x的值變?yōu)?

  print(y);//y的值不會(huì)變化

  運(yùn)行結(jié)果如下:

  這樣的運(yùn)行結(jié)果應(yīng)該在你的意料之內(nèi),沒(méi)有什么特別之處,我們?cè)賮?lái)看看引用類(lèi)型的例子,由于數(shù)組的長(zhǎng)度非固定,可以動(dòng)態(tài)增刪,因此數(shù)組為引用類(lèi)型:

  var array=[1,2,3,4,5];

  var arrayRef=array;

  array.push(6);

  print(arrayRef);

  引用指向的是地址,也就是說(shuō),引用不會(huì)指向引用本身,而是指向該引用所對(duì)應(yīng)的實(shí)際對(duì)象。因此通過(guò)修改array指向的數(shù)組,則arrayRef指向的是同一個(gè)對(duì)象,因此運(yùn)行效果如下:

  1,2,3,4,5,6

  變量的作用域

  變量被定義的區(qū)域即為其作用域,全局變量具有全局作用域;局部變量,比如聲明在函數(shù)內(nèi)部的變量則具有局部作用域,在函數(shù)的外部是不能直接訪問(wèn)的。比如:

  JS變量有哪些意思

  var variable="out";

  function func(){

  var variable="in";

  print(variable);//打印”in”

  }

  func();

  print(variable);//打印”out”

  應(yīng)該注意的是,在函數(shù)內(nèi)var關(guān)鍵字是必須的,如果使用了變量而沒(méi)有寫(xiě)var關(guān)鍵字,則默認(rèn)的操作是對(duì)全局對(duì)象的,比如:

  var variable="out";

  function func(){

  variable="in";//注意此variable前沒(méi)有var關(guān)鍵字

  print(variable);

  }

  func();

  print(variable);//全局的變量variable被修改

  由于函數(shù)func中使用variable而沒(méi)有關(guān)鍵字var,則默認(rèn)是對(duì)全局對(duì)象variable屬性做的操作(修改variable的值為in),因此此段代碼會(huì)打印:

  in

  in

感謝各位的閱讀,以上就是“JS變量有哪些類(lèi)型”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)JS變量有哪些類(lèi)型這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

js
AI