javascript - 如何正确返回空函数?

标签 javascript jslint

我正在使用函数的运行时分配来解决浏览器差异。但是对于不支持的浏览器,我想返回一个空函数,这样就不会抛出 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/

相关文章:

javascript - 运行NUXT.js和Axios时如何避免代码重复?

javascript - 使用 JavaScript 从 Iframe 获取内部 HTML

javascript - 未使用函数参数的最佳实践

javascript - 将所有附加插件/扩展组织到 main.js [VueJs]

javascript - 如何使用feathers.js和multer上传图片?

javascript - 函数完成后运行 jquery 行

javascript - JSLint 将 'window' 作为全局变量的问题

javascript - 在 Javascript 中用 if 语句包装 For in 循环——遍历数组

javascript - 如何在由相互依赖的 javascript 文件组成的项目中高效地使用 jshint?

javascript - 我的单元测试中的 JSLint