數據類型核心操作和原理
阿新 • • 發佈:2018-10-28
boolean 普通 順序 例如 win var name fine ava
## 數據類型的核心操作原理
>JS中的數據類型(值類型)
> + number
> + string
> + boolean
> + null
> + undefined
> - 引用數據類型
> + 對象
> + {}普通對象
> + []數組
> 函數
> + function 普通函數
> + 類
> + ...
JS代碼運行在瀏覽器中,是因為瀏覽器給我們提供了一個供js代碼執行的環境 ->全局作用域(window/global)
```javascript var a = 12; var b = a; b = 13; console.log(a);//a->12
var o = {name:‘yy‘}; var p = o; p.name=‘kpf‘; console.log(o.name);//a->kpf
var m = {name:‘yy‘}; var n = m; n ={name:‘yy‘}; console.log(m.name);//a->yy
//任意數求和 function fn(){ var ary = Array.prototype.slice.call(arguments); eval(ary.join(‘+‘)); } fn(12,13); ```
### 值類型 > 直接按值操作,例如:var a = 12;直接把12這個值賦值給變量a(讓a變量和12這個值建立了鏈接的關系)
### 對象數據類型 > 在JS中遇到對象,會嚴格按照如下的步驟操作: > 1、瀏覽器未其開辟一個新的內存空間,未了方便後期可以找到這個空間,瀏覽器給空間分配一個16進制的地址 > 2、按照一定順序,分別的把對象鍵值對存儲到內存空間中 > 3、把開辟內存的地址賦值給變量(或者其他的東西)
### 函數的操作 > 創建函數 > 1、先開辟一個新的內存空間(未其分配了一個13進制的地址) > 2、把函數中編寫的js代碼當做‘字符串‘存儲到空間中(函數只有創建不執行沒有意義) > 3、把分配的地址賦值給聲明的函數名(function fn 和 var fn 操作原理其實相同,都是在當前作用於中聲明了一個名字,一個是變量名,一個是函數名) > 執行函數
JS代碼運行在瀏覽器中,是因為瀏覽器給我們提供了一個供js代碼執行的環境 ->全局作用域(window/global)
```javascript var a = 12; var b = a; b = 13; console.log(a);//a->12
var o = {name:‘yy‘}; var p = o; p.name=‘kpf‘; console.log(o.name);//a->kpf
var m = {name:‘yy‘}; var n = m; n ={name:‘yy‘}; console.log(m.name);//a->yy
//任意數求和 function fn(){ var ary = Array.prototype.slice.call(arguments); eval(ary.join(‘+‘)); } fn(12,13); ```
### 值類型 > 直接按值操作,例如:var a = 12;直接把12這個值賦值給變量a(讓a變量和12這個值建立了鏈接的關系)
### 對象數據類型 > 在JS中遇到對象,會嚴格按照如下的步驟操作: > 1、瀏覽器未其開辟一個新的內存空間,未了方便後期可以找到這個空間,瀏覽器給空間分配一個16進制的地址 > 2、按照一定順序,分別的把對象鍵值對存儲到內存空間中 > 3、把開辟內存的地址賦值給變量(或者其他的東西)
### 函數的操作 > 創建函數 > 1、先開辟一個新的內存空間(未其分配了一個13進制的地址) > 2、把函數中編寫的js代碼當做‘字符串‘存儲到空間中(函數只有創建不執行沒有意義) > 3、把分配的地址賦值給聲明的函數名(function fn 和 var fn 操作原理其實相同,都是在當前作用於中聲明了一個名字,一個是變量名,一個是函數名) > 執行函數
數據類型核心操作和原理