this 概念
這題觀念在於 this 作用域範圍
第一個印出來的 this 範圍在 obj 裡, 因為是執行了函式
第二個印出來的 this 範圍是 window, 原因在於 test 是被 assign 一個函式,看底下可以知道此作用域範圍已不在 obj 裡, 所以會印出最外層的 fullname
1 | ƒ () { |
1 | var fullname = 'John'; |
Call By Value vs Call By Sharing
傳值與共享(有 call by reference 記憶體的概念)的概念
1 | var a = { |
hoisting 概念
觀念在於變數的宣告被「提升」到最上面去了
第一題與第二題很容易搞混,特地寫在一起
1 | // 第一種 |
function 執行
顧名思義考你瞭不瞭解 function 執行,
如果 this.name(); 改成 this.name; 那就不會執行了
1 | var obj = function(msg) { |
閉包
將變數生命週期延續在內層
1 | function myFunc() { |
立即函式
只會執行一次,不會影響全域
1 | // var a = b =3; |
字串運算子
運算子遇到字串就會自動轉成字串串接
1 | console.log('3' + 4 + 5); //'345' |
++運算元
++在前面代表回傳運算完的值, 反之++在後就是回傳加前的值
1 | function cal(init) { |