迪米特原則的目的是解耦合,又稱作『最小知識原則』
用意在簡單化 Object 之間的互動,減少 Object 之間的相依。避免系統太過於複雜,造成未來維護成本提高
也就是在設計一個類別時,這個類別必須對其他方法或屬性知道的越少越好
Law of Demeter 訂出了四條守則,限制一個 Object 內的函式只能呼叫以下這些函式:
Object 本身的函式( Class 內的成員函式)
當作參數傳遞進來的 Object,可以呼叫傳遞進來 Obejct 所提供的函式
自行在函式中建立
»
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
»
箭頭函式
語法比原有函式更簡單
提高程式碼可讀性
具有詞法上綁定 this 的特性
ex:
const func = (x) => x + 1
相當於
const func = function (x) { return x + 1 }
大括號 {}
如果函式有多行語句(表達式)時就要使用大括號,如 () => {}
使用大括號時,return 需要自己加,否則會 undefined
小括號 ()
只有單一個傳入參數時,可以不需前面作為傳入參數使用的小括號,例如 x => x
»
在 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 標
»
_ _ proto _ _
每個 js object 都對應一個原型 objecy,並從原型 object 繼承屬性及方法
prototype
不像其他 oo 語言,在 js 內沒有 class,es6 的 class 也只是語法糖
js 透過函數來模擬 class,只有函數才有 prototype 屬性
創建函數時,js 會自動添加 prototype 屬性,值是空 object
若把這個函數當建構函數 (constructor) 調用,js 會創建此構造函數的 instance,
»
parent()
取得上一層的父元素
parents()
取得上一層的所有父元素
closest()
取得上一層第一個符合的父元素,等同於 parents().eq(0)
example:
jsbin
Ref:
w3school parent()
w3school parents()
w3school closest()
»