我正在使用函数的运行时分配来解决浏览器差异。但是对于不支持的浏览器,我想返回一个空函数,这样就不会抛出 JavaScript 错误。
但是,jslint 提示空函数。执行此操作的 jslint 快乐方法是什么?
Empty block.
$R.functionNull = function () {
// events not supported;
};
$R.Constructor.prototype.createEvent = (function () {
if (doc.createEvent) {
return function (type) {
var event = doc.createEvent("HTMLEvents");
event.initEvent(type, true, false);
$NS.eachKey(this, function (val) {
val.dispatchEvent(event);
});
};
}
if (doc.createEventObject) {
return function (type) {
var event = doc.createEventObject();
event.eventType = type;
$NS.eachKey(this, function (val) {
val.fireEvent('on' + type, event);
});
};
}
return $R.functionNull;
}());
最佳答案
您可以向您的函数添加一个函数体并让它返回undefined
:
$R.functionNull = function() {
// Events not supported.
return undefined;
};
这与“真正的空”函数保持相同的语义,并且应该满足 JSLint。
关于javascript - 如何正确返回空函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17026092/