星期六, 7月 30, 2016

node js 心得

1. 非同步可用promise來想辦法讓程式比較容易撰寫

Good Reference:
JavaScript Promise迷你书
http://liubin.org/promises-book/


2. javascript 中的this,跟 C#, Java, C++的使用方法有很大的差異。傳統物件導向程式語言是先定義好類別才建立物件,而javascipt的特性則是可先建立好物件才延展該物件功能。在javascipt中的this是代表呼叫特定函式的左邊.物件。如
var book = {};
function setPrice(price) {
    this.price =price;
}
book.setPrice(100)時,
這時候this就代表為book物件,

setPrice(100);
可是如果直接呼叫setPrice(100)時,這時候this 就不存在

3. 如果function裡面有callback,由於callback中的this代表的會是呼叫該callback的物件,而不是外圍的instance物件,此時會導致 this 不存在。解法通常是在callback外面宣告一變數,利用變數域範圍的特性,來讓callback函式也可參考到同一物件。

function setPrice(price) {
     var self =this;
     onEvent('event', callback() {
        self.result =xxx;
     }
}

4. module心得,'json-socket'很好用,可快速處理訊息