一般談論的演算法之複雜度,經常是指 Big-O
Big O Notation 代表演算法時間函式的上限(Upper bound),表示在最壞的狀況下,演算法的執行時間不會超過Big-Ο。
O(1) (Constant Run Time): 此演算法 執行時間不會隨著輸入資料量的增加而增加
O(n) (Linear Run Time): 此演算法 當輸入的資料越多,就會需要等比例輸出越多的內容,因此會需要消耗等比例越久的時間
O(n^2) (Exponential Run Time): 此
»
ES6 => 語法糖 (Syntax Suger)
arguments 這個內建的區域變數 (用來存放函式的參數資料) 在箭頭函式不存在
// 傳統函式
let test1=function(msg){
alert(msg);
};
等同
// 傳統函式
let test1=function(msg){
alert(arguments[0]);
};
// 箭頭函式
let test2=(msg)=>{
alert(msg);
»
閉包的觀念說明與操作
觀念:
函式中有另外一個函式
函式用的資料(n)定義在外面的函式
資料(n)會被留下來
example:
// 函式中的變數/參數,在函式程序結束後。資料會被回收
function test(n) {
console.log(n);
}
// Closure: 函式中的變數/參數,在函式程序結束後。[未來]還會被使用,[資料會被保留住]
function test(n) {
// 間隔 n 秒後,印出 n
window.setTimeout(function
»
一般函式的 this
console.log(this);
global
browser: window
function a(){
console.log(this);
}
a(); // 結果 window
四種情況
直接執行 -> global (window)
作為物件的成員函式執行 -> 該物件
作為 DOM 的事件偵聽函式 -> 該 DOM
作為建構函式 -> 建構出來的實例
const obj = {
name: 'object',
a(){
»
Objective - 客觀、事實
月會報告時,講話語氣太平淡。被同事說沒有溫度
Reflective - 感受、反應
第一次報告確實有點緊張,中間開始吃螺絲。越念越快
Interpretive - 經驗
簡報有一些內容太過技術面,可以略過不寫 ; 或用白話一點的詞彙
Decisional - 決定
多練習、冥想訓練
觀察別人是如何報告的
口語表達能力
把話講清楚,這牽涉到你在速度、音調、語氣、音量、停頓等細節的調整。
要讓大家聽得懂,尤其是出現專有名詞和術語時,要視狀況做調整。
我
»
git blame,查看程式碼的作者
$ git blame -L <start_line>, <end_line> <file_name>
Ref:
Git - git-blame Documentation
»