您好,登錄后才能下訂單哦!
這篇文章主要講解了“JS變量有哪些類型”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“JS變量有哪些類型”吧!
基本類型和引用類型
在上一小節,我們介紹了JavaScript中的數據類型,其中基本類型如數字,布爾值,它們在內存中都有固定的大小,我們通過變量來直接訪問基本類型的數據。而對于引用類型,如對象,數組和函數,由于它們的大小在原則上是不受任何限制的,故我們通過對其引用的訪問來訪問它們本身,引用本身是一個地址,即指向真實存儲復雜對象的位置。
基本類型和引用類型的區別是比較明顯的,我們來看幾個例子:
var x=1;//數字x,基本類型
var y=x;//數字y,基本類型
print(x);
print(y);
x=2;//修改x的值
print(x);//x的值變為2
print(y);//y的值不會變化
運行結果如下:
這樣的運行結果應該在你的意料之內,沒有什么特別之處,我們再來看看引用類型的例子,由于數組的長度非固定,可以動態增刪,因此數組為引用類型:
var array=[1,2,3,4,5];
var arrayRef=array;
array.push(6);
print(arrayRef);
引用指向的是地址,也就是說,引用不會指向引用本身,而是指向該引用所對應的實際對象。因此通過修改array指向的數組,則arrayRef指向的是同一個對象,因此運行效果如下:
1,2,3,4,5,6
變量的作用域
變量被定義的區域即為其作用域,全局變量具有全局作用域;局部變量,比如聲明在函數內部的變量則具有局部作用域,在函數的外部是不能直接訪問的。比如:
JS變量有哪些意思
var variable="out";
function func(){
var variable="in";
print(variable);//打印”in”
}
func();
print(variable);//打印”out”
應該注意的是,在函數內var關鍵字是必須的,如果使用了變量而沒有寫var關鍵字,則默認的操作是對全局對象的,比如:
var variable="out";
function func(){
variable="in";//注意此variable前沒有var關鍵字
print(variable);
}
func();
print(variable);//全局的變量variable被修改
由于函數func中使用variable而沒有關鍵字var,則默認是對全局對象variable屬性做的操作(修改variable的值為in),因此此段代碼會打印:
in
in
感謝各位的閱讀,以上就是“JS變量有哪些類型”的內容了,經過本文的學習后,相信大家對JS變量有哪些類型這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。