我想知道函數是否是noop。我正在尋找一個內置的方法,如angular.isNoop(),但找不到任何東西。有什麼區別NOOP?是否可以告訴AngularJS中的noop函數?
2
A
回答
2
noop是一個簡單的函數,它不包含任何操作。您可以使用===
來測試特定的noop功能。
console.log(x === angular.noop);
將打印true,如果x
是從角分配空操作,但如果x
使用jQuery的從該空操作,這是不行的。
檢查變量是否看起來像noop。您只需要查看函數字符串是否以{}
結尾。你可以嘗試這樣的事情。
console.log(angular.isFunction(x) && /\{\}$/.test(x.toString()));
上面應該工作,即使在代碼被縮小。
1
noop函數的名稱就像任何其他函數一樣。這個名字是noop
。因此,您只需撥打電話即可查看:
var theFunction = angular.noop;
theFunction.name === 'noop'
2
這不是一個典型的任務,它不太可能會有一個框架。
function isNoop(fn) {
var trimRegex = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
try {
return !fn.toString().match(/{([\s\S]*)}$/)[1].replace(trimRegex, '');
} catch (e) { };
}
當然,它不檢查函數內的noop語句。 trimRegex
的積分轉到jQuery。
相關問題
- 1. 你可以告訴一個數組是否爲空
- 2. 我可以告訴我是否實現了一個C++虛函數
- 3. 父函數可以告訴孩子是否已經寫入stdin嗎?
- 4. 函數中是否可以有函數?
- 5. 在vb.net中是否有函數可以告訴我們在UTF8 unicode整理下2字符串是否相同?
- 6. 是否可以告訴MathJax使用特定語言的字體?
- 7. 如何告訴static_assert constexpr函數參數是否爲const?
- 8. 是否可以告訴應用程序是否禁用了Nagle的算法?
- 9. 我可以告訴瀏覽器的Chrome元素在Firefox中是否可見?
- 10. 我可以告訴iPhone是否有密碼?
- 11. 是否可以從命令行告訴Sonar項目名稱?
- 12. 你可以告訴C++指針是否已被破壞?
- 13. 是否可以告訴ARC忽略一個對象?
- 14. 可以告訴AIR是否已插入USB存儲設備
- 15. 我可以告訴iOS設備是否收到推送通知?
- 16. ,我可以告訴它是否已經調用了ContinueWith?
- 17. 是否可以告訴應用已打開多少次?
- 18. 我可以告訴R腳本是否在littler下運行?
- 19. 我可以告訴抽象方法是否已被調用?
- 20. 是否可以告訴Testclass它應該最後跑?
- 21. 我可以告訴一個表單是否是模板中的「編輯」表單?
- 22. 是否可以告訴用戶是否打開或下載了一個文件?
- 23. 是否可以告訴您是否被重定向到aspx頁面?
- 24. 我可以告訴我的泛型,關於它應該只是一個函數?
- 25. 我可以告訴PhpStorm函數的返回類型是什麼嗎?
- 26. URL可以告訴jQuery運行一個函數嗎?
- 27. 我可以創建一個函數告訴按鈕打開
- 28. 一個函數可以告訴從哪個模塊調用它?
- 29. firebase如何告訴angularjs用戶是否已登錄/退出
- 30. 告訴頁面是否在內存中?
好吧,如果你從共享位置獲得noop,它們都包含相同的功能,因此可以進行完全相同的檢查。否則,你只能看看函數的.toString()。 –