2019年4月15日 星期一

[Back To Basic] Javascript - Function Invocation

函式調用(Function Invocation)

  • 定義 Function 時,並不會執行 Function
  • 調用函式時,才會執行 Function
  • 直接定義函式,預設此函式為全域物件的函式
  • 全域物件(global object)通常是 HTML頁面或是瀏覽器的 window
  • 盡量別在全域定義 function,很容易撞名
  • 全域的 this = window object

不要用 window object 來當變數,系統很容易壞掉

使用物件(object)中的函式(function)時,this代表該物件(object)

建構式調用(constructor invocation)

調用函式時,在前面加一個 new 關鍵字,就是建構式調用(constructor invocation)

function myFunction3(x, y) {
    this.x = x;
    this.y = y;
    console.log(this); // this 要在被 new 的時候才知道是什麼 
}

var myObj = new myFunction3(2, 3); // 看似新增一個function 其實是新增了一個 object

myObj.x; // 2

沒有留言:

張貼留言