2012年12月2日 星期日

javascript的迷思

可以看看javascript開發者對javascript現狀的評論www.josephjiang.com/presentation/OOJS/object-basic.html

個人認為是太多人認為javascript太好學,充斥了太多javascript的錯誤資訊,javascript的特色也太過於被濫用

最近我犯了一個錯誤,我想很多人如果比較熟悉C++ or Java之類,乃至於python這種語言都會犯的錯誤
var obj1 = new Person();
var obj2 = new Person();
var callbakcs={};
callbacks[obj1]=callback1;
callbacks[obj2]=callback2;
很簡單的想法就是想要為物件指定不同的callback function,結果不行,問題是所有callback function會指向callback2,理由是javascript並沒有替object做出唯一的key,javascript會呼叫toString()替代,所以obj1跟obj2會得到相同的字串
在C++是address,在java會由Object的method提供,ptyhon也不例外,例外的是javascript,真的替我上了一課XD

沒有留言:

張貼留言