Eslint
规则 | Rules

wrap-iife

要求包裹IIFE(wrap-iife)

--fix命令行上的选项可以自动修复一些被这条规则反映的问题。

您可以立即调用函数表达式,但不能调用函数声明。创建立即调用的函数表达式(IIFE)的常用技术是将函数声明包装在圆括号中。开头的圆括号使包含的函数被解析为一个表达式,而不是一个声明。

// function expression could be unwrapped var x = function () { return { y: 1 };}( // function declaration must be wrapped function () { /* side effects */ }( // SyntaxError

规则细节

该规则要求所有立即调用的函数表达式都包含在圆括号中。

选项

该规则有两个选项,一个字符串选项和一个对象选项。

字符串选项:

  • "outside"强制总是包装调用表达式。默认是"outside"

  • "inside"强制总是包装函数表达式。

  • "any" 强制总是包装,但允许任何一种风格。

对象选项:

  • "functionPrototypeMethods": true另外强制执行使用.call和调用的包装函数表达式.apply。缺省值是false.outside 默认选项的错误代码示例"outside":/*eslint wrap-iife: ["error", "outside"]*/