hen*_*ald 88 javascript coding-style callback
我有一些函数偶尔(并不总是)会收到回调并运行它.检查回调是否定义/功能是一种好的风格还是有更好的方法?
例:
function save (callback){
.....do stuff......
if(typeof callback !== 'undefined'){
callback();
};
};
Run Code Online (Sandbox Code Playgroud)
Ray*_*nos 133
我个人更喜欢
typeof callback === 'function' && callback();
typeof然而,该命令是狡猾的,应该只用于"undefined"和"function"
问题typeof !== undefined是用户可能传入已定义的值而不是函数
Pab*_*dez 46
你也可以这样做:
var noop = function(){}; // do nothing.
function save (callback){
callback = callback || noop;
.....do stuff......
};
Run Code Online (Sandbox Code Playgroud)
如果您碰巧callback在几个地方使用它,它特别有用.
另外,如果你正在使用jQuery,你已经拥有了这样的功能,它被称为$ .noop
nin*_*123 36
简单地做
if (callback) callback();
Run Code Online (Sandbox Code Playgroud)
如果提供回调,我更喜欢调用回调,无论它是什么类型.不要让它无声地失败,因此实现者知道他传递了一个不正确的参数并且可以修复它.
// @param callback Default value is a noop fn.
function save(callback = ()=>{}) {
// do stuff...
callback();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49755 次 |
| 最近记录: |