因此,偶爾有一段時間,爲了好玩,我檢查了Facebook的來源以找到各種瘋狂的JavaScript。因此,在Facebook上的聊天textarea的KEYUP將函數直接鏈接到函數(){}
,我發現:
Bootloader.loadComponents(["control-textarea"], function() {
TextAreaControl.getInstance(this)
}.bind(this));
這似乎並不直到我意識到那.bind()
直接加入該功能引起我的興趣。
我不知道你能做到這一點。
任何功能都可以跟其他function(){}
一樣嗎?或者是否有一種特殊的方式需要這樣做。
我知道你可以連鎖像"How are you doing!".replace(/\w{3}/g,'').toUpperCase()
這樣的東西,但並不認爲你直接鏈接到function(){}
本身。
您不是「鏈接」function(){}調用,而是鏈接'.loadComponents()'調用。 – Blender 2012-08-04 17:46:40
它們在'.loadComponents()'裏面「鏈接」函數。 'function(){ TextAreaControl.getInstance(this) } .bind(this)' – Shawn31313 2012-08-04 17:48:54
@Blender:不按照括號順序。看來loadComponents正在傳遞兩個參數。一個數組和一個鏈接綁定調用的匿名函數 – jdi 2012-08-04 17:49:00