數據類型核心操作步驟和原理
阿新 • • 發佈:2018-08-11
-s mat 遇到 ice 一次 瀏覽器中 面向 bsp eva
2、按照一定順序,分別的把對象鍵值對存儲到內存空間中
3、把開辟內存的地址賦值給變量(或者其他的東西),以後變量就可以通過地址找到內存空間,然後進行一些操作
2、執行代碼之前,先把創建函數存儲的那些字符串變為真正的js表達式,按照從上到下的順序在私有作用域中執行
一個函數可以被執行N次,每一次執行相互之間互不幹擾(後面會學習兩者之間建立的間接關系)
形成的私有作用域把函數體中的私有變量等都包裹起來了(保護起來了),在私有作用域中操作私有變量和外界沒關系,外界也無法直接的操作私有變量,我們把函數執行形成的這種保護機制叫做閉包。
* 學習:知其然而知其所以然*
數據類型核心操作步驟和原理
JS中的數據類型
- 基本數據類型(值類型)
- number
- string
- boolean
- null
- undefined
- 引用數據類型
- 對象
- {}普通對象
- []數組
- /^$/正則
- Math 對象數據類型的
- 。。。
- 函數
- function 普通函數
- 類
- 。。。
var a=12; var b=a; b=13; console.log(a); var o={name:"helloworld"};var p=o; p.name=‘席超‘; console.log(o.name); var m={name:‘helloworld‘}; var n=m; n={name:‘面向對象編程‘}; console.log(m.name); function fn(){ var ary=array.prototype.slice.call(arguments); return eval(ary.join(‘+‘)); } fn();
值類型
直接按值操作,例如:var a=12;直接把12這個值賦值給變量a (讓a變量和12這個值建立了連接的關系)對象數據類型
在JS中遇到對象,會嚴格按照如下的步驟操作: 1、瀏覽器為其開辟一個新的內存空間,為了方便後期可以找到這個空間,瀏覽器給空間分配一個16進制的地址函數的操作
創建函數
1、先開辟一個新的內存空間(為其分配了一個16進制的地址) 2、把函數體中編寫的js代碼當做字符串存儲到空間中(函數只創建不執行沒有意義) 3、把分配的地址賦值給聲明的函數名(function fn和var fn操作原理其實相同,都是在當前作用域中聲明了一個名字,此處兩個名字是重復的) 執行函數目的:執行函數體中 的代碼
1、函數執行的時候,瀏覽器會形成一個新的私有作用域(只能執行函數體中的代碼)供函數體重代碼執行數據類型核心操作步驟和原理