javascript原始值和物件的主要區別簡單介紹

antzone發表於2017-04-06

本章節介紹一下js中原始值和物件的一些主要區別,希望能夠對初學者有所幫助。

一.原始值:

javascript中的原始值有undefined、null、布林值、數字和字串。

原始值是不能夠改變的,看如下程式碼例項:

[JavaScript] 純文字檢視 複製程式碼
var str="softwhy.com";
str="url";

上面的程式碼可能有人認為這不是已經改變了字串的值嗎,其實並非如此。

只是將str變數重新賦值而已,原來的字串內容並沒有被改變。

比較原始值得時候,直接就是比較的它們值得內容,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
var a=1;
var b=2;
console.log(a==b);

二.物件:

物件(也包括陣列和函式)是能夠改變自身的,當然字串物件是一個特殊的存在,你也無法改變字串本身的內容。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
var arr=[1,2,3];
arr.push(4);
console.log(arr);

陣列的內容已經被改變,再來看字串的相關程式碼:

[JavaScript] 純文字檢視 複製程式碼
var str=new String("softwhy.com");
var newStr=str.toUpperCase();
console.log(str);
console.log(newStr);

可見原來的字串物件並沒有改變,這應該是為了安全或者效率方面的考量故意設計。物件的比較是引用的比較,也就是必須是指向同一個引用才會相同,否則即使內部的相關內容相同也是不行的。

看如下程式碼:

[JavaScript] 純文字檢視 複製程式碼
var one=[1,2];
var two=[1,2];
console.log(one==two);

相關文章