1. 程式人生 > >angular中的factory、service和provider

angular中的factory、service和provider

現在,讓我們看一下當我們在JavaScript中使用new關鍵字的時候究竟發生了什麼。首先你應該已經注意到的是,當我們在例子中使用了new關鍵字之後,我們可以通過'tyler'來呼叫方法(sayName),看上去好像tyler是一個物件——那是因為它確實成了一個物件。所以,我們知道的第一件事就是我們的Person構造器返回了一個物件(object)。其次,我們知道,由於我們的sayName方法是定義在Person的prototype上,而不是直接定義在Person的例項上的,所以Person函式返回的物件(tyler)一定是由於未找到sayName方法,進而去prototype尋找sayName方法的。用更通俗的話來說,當我們呼叫tyler.sayName()時,JS直譯器說,“好吧,我先去我們剛建立的'tyler'物件上查詢sayName方法,然後呼叫它。等一下,我沒有在它上面找到sayName方法——我只看到了name和age,那讓我去prototype找一下吧。沒錯,它在prototype上,那就讓我呼叫它吧”。

下面的程式碼演示了在JavaScript中使用new關鍵之後所做的事。它是上面這一段文字的一個基本的程式碼示例。我已經把從JS直譯器的角度來看整個過程的程式碼寫在了註釋裡。

PersonCommented-12