首頁 > web前端 > js教程 > 主體

js基本語法的介紹:資料類型以及變數類型

不言
發布: 2018-08-13 10:22:14
原創
2503 人瀏覽過

這篇文章帶給大家的內容是關於js基本語法的介紹:資料類型以及變數類型,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

一、不可改變的原始值(堆疊資料)(五個)

數字(number),字串(string),布林值(boolean),undefined,null

其中;undefined是未定義的意思,而null是空的意思,他們兩個的區別在於,null有值,不過這個值是空值,而undefined是未定義,完全沒有值的意思。 null一般用作佔位。

var a = 4;
var b = a;
a = 10;
console.log(b);//4//原始值是把一个值a放到另一个值b里面,改了第一个值a,第二个之值b不变
登入後複製

二、引用值(堆疊資料)

陣列(array),物件(object),函數(function)

注意:只要對變數進行賦值就會進行記憶體的重新申請

var arr = [1, 2];
var arr1=arr;
arr.push(3);
console.log(arr1); //[1, 2, 3]
//引用值时把第一个值放到第二个值里面,改变第一个值,第二个值也改变
//引用值是在栈内存里面存放堆的地址,拷贝的是地址,所以改变了arr,实际上是改变了arr指向的地址内存放的内容,而arr和arr1指向同一个地址,故arr1也跟着变
登入後複製
var arr = [1,2];
var arr1 = arr;
arr = [1,3];
console.log(arr1);//[1,2];    
//arr = [1,3]实际上是在堆内另建了一个地址,arr指向了新的地址,而arr1还是指向原来的地址,故arr1值不变
登入後複製

位址

##變數

儲存值

#0x0001

arr

#[1,2]    [1,2,3]  <--arr.push(3)

0x0002

arr1

0x0001

位址

變數

#儲存值

0x0001

arr 

#[1,2]   

#0x0002

arr1

#### #0x0001##################0x0003############arr############[1,3 ]################

要避免使用连续赋值符号:下面举两个例子

 a = {n:1 b == a={m:1console.log(b);
登入後複製

1.var a = {n:1},在内存中申请两个地址,分别存放a和n;

2.var b = a;申请一个地址存放b,值指向a的地址;

3.a.n= a={m:1};

(1)(这里对变量进行了赋值,因此要重新申请内存)先申请了内存地址n(0x0004)和a(0x0005);由于n值占用了新的内存,故0x0001处 存储值由n:0x0002变为n:0x0004;

(2)赋值;a={m:1},申请m地址(0x0006),

因此:a : {m:0x0006}--->{m:1}

   b: {0x0001}--->{n:0x0004}---->{ n:0x0005}---->{n:{m:0x0006}}--->{n:{m:1}}

(1)##m:0x0006    (2)

地址

变量

存储值

0x0001

a (1)

n:0x0002 n:0x0004 ---(1)

0x0002

-n- (1)

1

0x0003

#b

#0x0001

0x0004

#     n

##0x0005

#0x0005

     a   

#(1)

#0x0006

     m    (2)

######## #########1         (2)####################

var a = {n:1};
var b = a;
a={m:1};//a重新赋值,换了一个房间,b仍然指向原来的房间(地址)
a.n =a;
console.log(a);//{m:1,n:{m:1,n:{..}}}//一直循环
console.log(b);//{n:1}
登入後複製

 相关推荐:

js常用的正则表达式的用法小结

js如何格式化xml字符串并高亮?(附代码)

以上是js基本語法的介紹:資料類型以及變數類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!