js理解--萬物皆對象


JavaScript中常說  萬物皆對象。下面簡單分析一下這句話,加深對js的一些深入的理解。

js中數據類型:1.原始數據類型  2.引用數據類型

原始數據類型:number,undefined,null,string,boolean

引用數據類型:object

使用typeof檢查數據類型 可以知道 typeof(null)返回的是object。

這是由於計算機存儲造成的

在底層存儲對象時都是二進制,JavaScript中如果二進制前三位都是0就會被判斷為object類型,

null的二進制表示全是0,所以返回的是“object”。

所謂對象,都有自己的屬性和方法。

可以操作對象的屬性,進行增刪改查

寫一個函數類對象

function fun(){}

1.增   fun.age = 20;   直接 函數名.屬性名 = 屬性值 

2.刪  delete fun.age;   使用delete 函數名.屬性名

3.改   fun.age = 18;   存在的函數名.屬性名 = 更新的屬性值

4.查    fun.age ;

可以看出函數是可以直接當成對象使用的。

 

而原始數據類型:number,undefined,null,string,boolean

原始數據類型存儲在棧中  他們的存儲結構是不能改變的,改變的可以是地址。

var str = "hello world";

str = 123;

console.log(str)

打印出來肯定是123。 因為str的存住地址發生了改變。

引用數據類型 是存儲在堆和棧中  但對象里面去增加屬性和方法是不會改變存儲的地址的。

如果給原始類型添加屬性 str.age = 18; 不會報錯,但在系統檢查為原始數據類型的瞬間會被刪除。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM