Grunt-contrib-uglify在使用默认值的函数参数时抛出错误
grunt-contrib-uglify throws error when using function parameter with default value
我使用Grunt 1.0.1和Grunt -contrib-uglify 2.0.0来丑化我项目中连接的.js文件。直到今天,我引入了一个带有函数参数的JavaScript函数,该函数参数具有默认值。
现在Grunt任务导致这个错误消息:
Running "uglify:app" (uglify) task
JS_Parse_Error {
message: 'SyntaxError: Unexpected token operator «=», expected punc «,»',
filename: 'app.js',
这个任务所对应的app.js行是:
function addNumbers(a, b=1){
console.log(a + b);
}
表示行中b=1
所在的列。
如果我删除默认值,一切又正常了。
为什么这里有grunt-contrib-uglify抱怨?我怎么解决这个问题?
参考错误消息,您显然没有使用ES6。设置b
默认值的方式只在ES6中有效。
设置b
的默认值
function addNumbers(a, b) {
b = b || 1;
console.log(a + b);
}
如果您也想接受b
的值为0
,那么您可以检查b
是否为undefined
, ||
是否为number
,以设置b
的默认值为1
。
function addNumbers(a, b) {
b = (b === undefined || typeof b !== 'number') ? 1 : b;
console.log(a + b);
}
相关文章:
- 使用PHP和Javascript在函数内部传递alphaneumeric值作为参数时出错
- 从 javascript 获取 MVC 控制器中的操作参数时出错
- Node.js错误:参数太多上传批量数据时出错
- angularjs[ng:areq]参数'fn'不是函数,在控制台中获取字符串时出错
- WebSQL:处理SQL时出错:数量为''语句字符串中的s与参数计数不匹配
- ReactJS - 将参数传递给函数时出错
- JQuery 函数突然停止工作,转换 Javascript 参数时出错
- 资产期间出错:由于Javascript函数的默认参数而导致预编译
- 从codeehind传递javascript参数时出错
- 通过POST将参数传递到iframe中的SSRS时出错
- 将一系列数字作为参数传递给PHP中的JavaScript函数时出错
- 使用缓冲区解码base64时出错.第一个参数必须是一个数字
- toString()在使用传递参数时出错
- 提供svg v1路径参数d时出错
- JavaScript函数作为参数出错- SyntaxError:意外的token{
- 动态传递参数给javascript函数时出错
- Rails 3:向javascript函数传递参数时出错
- 对象没有方法'在node.js中使用参数时出错
- Javascript在将参数作为字符串和数字的组合传递时出错
- Angular 2在访问路由器参数时会出错