給值不用函式方法處理
Getter 取得特定值方法
Setter 存值方法
***********************************************************************************************************
給值不用函式方法處理
Getter 取得特定值方法
Setter 存值方法
***********************************************************************************************************
Object.defineProperty : 定義屬性、調整屬性特微 ( 值、可否寫入、可否刪除,可否列舉)
Object.defineProperty 淺層保護
Object.definePropertys 大量屬性
防止擴充 PreventExtensions、封裝 Seal、凍結 Freeze *淺層保護
屬性Enum與Prototype Relation
***********************************************************************************************************************************
特性 : 最基本為物件,原型鍊為 物件 inherit 原型
定義原型
原型Constructer relation 原型
物件轉為原型使用 : Object.create(物件)、Object.create(函式.prototye)
多層Inheritance
__proto__ vs prototype
******************************************************************************************************
插入
由位置來比較下個位置大小
若後位比前位小,則往前移,若後位比前位大,則往後移
已排好的,由後位往前比較
氣泡
排序次數為長度減1
二個位置比較,較大值往後移
*******************************************
文件物件模型(Document Object Model, DOM)是 HTML、XML 和 SVG 文件的程式介面。
瀏覽器物件模型 (Browser Object Model,BOM) 核心為 window 物件
自訂義屬性
********************************************************************************************
每個執行環境有自已的this
與使用方法環境有關係
函式使用方式 :
物件方法、簡易呼叫 (callback fun)、bind apply call(*綁定特定的this)
strict mode 嚴格模式
*********************************************************************************************
閉包
函式以及該函式被宣告時所在的作用域環境(lexical environment)的組合
函式工廠
私有方法
文字編輯器
*******************************************************************************************************************
實字
Constructors
Get、Set、Delete
變數 與 屬性 : 變數無法刪除,屬性可以刪除
object call by value 、reference
call by sharing
shallow copy 淺層 deep copy 深層
array
***************************************************
運算符 ++、--
關係運算符 ==、===
邏輯運算符 && 、 || 、 !
RHS Right-hand side、LHS Left-hand side
Statement 陳述式、Expression 表達式
Precedence 優先性、Associativity 相依性
Truthy 真值、Falsy假值
***************************************************************************
函式
陳述式、表達式
具名函式、匿名函式
立即函式
參數
callbackfunction
函式使用方式 :
物件方法、簡易呼叫、bind apply call
strict mode 嚴格模式
*********************************************************************
Automatic Semicolon Insertion
當語句沒有加上;,會自動插入;
記憶體回收機制
mdn :
這個演算法將原本「這個物件再也不會被使用」的廣泛定義縮減到「沒有其他任何物件參考它」。如果一個物件不在被任何物件參考,它將被視為可回收記憶體的垃圾。
Js為SingleThread
Async : Event queue 事件註列 存放非同步函式
execute context 環境 :運行時,才會執行,宣告時不會執行
創造環境 (會依函式優先,變數排後)
執行
上篇講過如下:
execute context 下的創造環境、執行流程
創造 : 函式物件 ,給函式值,變數物件
執行 : 給變數值
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
execute context 環境 : 函式運行時,才會有execute context,宣告時不會執行
創造環境
執行
execute stack 堆疊
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
靜態作用域 (變數的作用域在語法解析時,已設定)
Js
Lexical scope 語法作用域
動態作用域 (變數的作用域在函式調用才設定)
*************************************************************************************************
Js 為動態型別
型別 :
原始型別 : undefined、null、boolean、number、string 、bigInt、Symbol
物件型別 : 透過建構式建立 or { } 、array 、function
運算子 : 簡單函式,回傳的結果
變數 與 屬性 : 變數無法刪除,屬性可以刪除
變數 call by value 、reference
Json
console log、dir、table
****************************************************************************
cheatsheet
*****************************************************************************************************
代理模式,不需自已處理,由代理處理
一類功能為別的東西的接口
像是函數指標
1.將方法(Method)當做參數傳遞。
2.定義Callback方法。
3.可以呼叫多個方法Method。