最近可以上實體課了
最近可以上實體課了,將N年前程式筆記打撈回來,還拖欠一堆assignments⋯⋯
1. 在 node Global = window,event loop排隊像集運倉,Libuv是最核心engine。
2. Chrome open end 一個對出面一個對自己。
3. Function是object,可以assigned 東西。
4. Console.log的undefined是function return。
5. This在那裏叫比較重要,寫在哪不重要(?)。
–
今天學closure和constructer + 偷畫的!
1. var 佔用Stack細小空間,assign null都是value,但是有方法deleted,Object 可以delete properly(DELETE window a變數在window裏面。
2. Handle bars(雙大括號)、EJS(%)、PUG(冇HTML 格式,像python);404 錯誤、200 正常、500 過慢;CSS Flex、Grad(By component。
3. obj跟Obj是有分別,Obj是class。
4. Create empty object(做prototype + build in structure)。prototype是虛擬link所以不能用.叫出來⋯⋯
5. JavaScript由lambda calculus變出來,Node module就是closure,未run過就沒有裏面的東西,run就什麼都出現 。
6. For loop裏面可以將let I=0放在前面因為先執行,i++在block最後。
7. For in 入array出012345(出index sum)。
8. Value消失時間在execution看ON OFF,雙括號的內容只能看不能改。
9. Function expression比起Function declaration可以省HEAP位。
10. Function名只用一次有時會沒有用處,但是anonymous function不方便debug。
11. Arrow function和declaration的this不同。
12. IIFE(Immediately Invoked Function Expression),無註冊、不需要浪費variable、執行過就不再出現。在七年前流行因為Jquery就是IIFE寫。
–
Arrow function沒有this & this是dynamics scope,不是object就會塞給window⋯⋯
–
老師說不要乞食拿綜援,否則他政府的養老金就沒有了⋯⋯
權限:
//1. new
//2. call/apply – explicit this
//3. context object
//4. default : global object (except strict mode)
–
Parsing:
foo >function()、obj = undefined、obj2 = undefined、orig = undefined。
Execution:
obj = {}、obj2 = {}、orig = function(第一行)、foo = function(第七行),foo()(第七行)。
–
Parsing:
bind >function()、foo >function()、obj = undefined、obj2 = undefined。
Execution:
obj = {}、obj2 = {}(assign object去左邊)、foo = bind(foo, obj)(先運算再assign,最後return第三行的function)。
foo()(closure會保留arguments)。
foo.call(obj2)(意思是obj2.foo()?)。
–
Closure + curry function⋯⋯
–
第六行:
1. New只是開了一對大括號。
2. foo():找不到this所以出undefined。
3. Assignment。
–
Leave a Reply