[OOP] 迪米特原則(Law of Demeter)

迪米特原則的目的是解耦合,又稱作『最小知識原則』 用意在簡單化 Object 之間的互動,減少 Object 之間的相依。避免系統太過於複雜,造成未來維護成本提高 也就是在設計一個類別時,這個類別必須對其他方法或屬性知道的越少越好 Law of Demeter 訂出了四條守則,限制一個 Object 內的函式只能呼叫以下這些函式: Object 本身的函式( Class 內的成員函式) 當作參數傳遞進來的 Object,可以呼叫傳遞進來 Obejct 所提供的函式 自行在函式中建立 »

[前端] Viewport

viewport 的用途是告訴瀏覽器目前裝置的寬與高,作為縮放時的基準 用法: <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"> 屬性說明: width: 使用 device-width (裝置寬度) 作為可視區域的寬度 height: 使用 device-height (裝置高度) 作為可視區域的高度 initial-scale »

[ES6] 箭頭函式(Arrow Function)

箭頭函式 語法比原有函式更簡單 提高程式碼可讀性 具有詞法上綁定 this 的特性 ex: const func = (x) => x + 1 相當於 const func = function (x) { return x + 1 } 大括號 {} 如果函式有多行語句(表達式)時就要使用大括號,如 () => {} 使用大括號時,return 需要自己加,否則會 undefined 小括號 () 只有單一個傳入參數時,可以不需前面作為傳入參數使用的小括號,例如 x => x »

[Git] 標籤 (tag)

在 git 裡,我們可以在 commit 上面加 tag。 通常會使用這個功能去標記發行版本(version) 查詢 tag # 查詢所有 tag $ git tag # 查詢特定 tag $ git tag -l 'v1.1.0' 標註 git tag # 標註在目前版本 $ git tag -a 標籤名稱 -m 標籤訊息 ex: $ git tag -a v1.0 -m 'Message about this version' # 標註在指定版本 $ git tag -a 標 »

[JavaScript] __proto__ 與 prototype

_ _ proto _ _ 每個 js object 都對應一個原型 objecy,並從原型 object 繼承屬性及方法 prototype 不像其他 oo 語言,在 js 內沒有 class,es6 的 class 也只是語法糖 js 透過函數來模擬 class,只有函數才有 prototype 屬性 創建函數時,js 會自動添加 prototype 屬性,值是空 object 若把這個函數當建構函數 (constructor) 調用,js 會創建此構造函數的 instance, »

[Jquery] 取父元素方法

parent() 取得上一層的父元素 parents() 取得上一層的所有父元素 closest() 取得上一層第一個符合的父元素,等同於 parents().eq(0) example: jsbin Ref: w3school parent() w3school parents() w3school closest() »