基本類型:`Null Boolean String Undefined Number(NB SUN)` 引用類型:`Array Function Object` 類型判斷:typeof 返回結果 `"undefined"(未定義) "boolean"(布爾值) "string"(字符串) "number"(數值) "object"(對象或者null) "funtion"(函數) `
**堆:**隊列優先,先進先出;由操做系統自動分配釋放 ,存放函數的參數值,局部變量的值等。 其操做方式相似於數據結構中的棧。 **棧:**先進後出;動態分配的空間 通常由程序員分配釋放, 若程序員不釋放,程序結束時可能由OS回收, 分配方式卻是相似於鏈表。
引用類型:即存放在堆(heap)內存中的對象,而js不容許直接訪問內存中的位置,所以操做對象時其實是操做其引用,而不是實際對象。程序員
引伸:js中的淺拷貝與深拷貝 ——待補充數據結構
主要有一元,位,布爾,加,減,乘,關係,相等,條件,賦值,逗號等操做符。
首先要明白,前置是先計算,再賦值;後置是先賦值,再計算。(操做符在前就先計算,在後就後計算)
例如:函數
function a(){ var a=5; var c=a++; console.log(c); // 5, a先賦值給c,再自增 }; function b(){ var a=5; var c=a++; console.log(c); // 6, a先自增,再賦值給c };
a. 顯式:post
Boolean(),Number(),parseInt(),parseFloat(),toString()
b. 隱式:操作系統
遞增、遞減(不管是前置仍是後置),一元加,減,乘,求餘/取模、邏輯非,關係比較,還有if等語句。
這個地方例子還蠻詳細的:https://www.haorooms.com/post...code
if,for,for-in,continue,break等
break: 退出整個循環; continue: 退出當前一輪循環;for循環裏兩都皆可用。
引伸:js中的循環遍歷(包括ES6) ——待補充對象
a. 函數聲明: function fn(){...}
b. 函數表達式:let fn=function(){...}
c. 構造函數方式:let fn=new Function(參數,...,函數體)
隊列