javascript - 如果未传递参数,CoffeeScript/JavaScript 如何出错?

标签 javascript coffeescript underscore.js lodash

我认为我通过编写执行此操作的代码很聪明:

someFunction = (arg1, arg2, arg3) ->
  if _.some(arguments, (a) -> a is undefined)
    throw new Error "undefined parameter"

我的意图是,如果其中一个参数未定义,则抛出错误。但我刚刚发现它并不总是有效:如果有人根本没有传入参数,它就不会包含在 arguments 数组中,因此不会被检查。

如果像 someFunction(1, 2)someFunction(1) 那样调用此函数而不手动检查每个参数,是否有一种简单的方法可以引发错误?

最佳答案

使用arguments.length

function doSomething(arg1,arg2,arg3){
    if(arguments.length!=3){
          throw new Error("wrong param count");
    }

}

关于javascript - 如果未传递参数,CoffeeScript/JavaScript 如何出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20754360/

相关文章:

javascript - HTML5 移动版中的 Canvas 缩放

javascript - 通过 Javascript 添加行后指定 ul li 结构

javascript - 在模型级别覆盖 Backbone.sync() 以发送额外的参数?

javascript - 为什么这个 lodash 模板会抛出语法错误?对我来说看起来不错

javascript - 下划线按表示节号的字符串排序

javascript - 迭代对象属性并修改它们

javascript - 使用 JavaScript 为提交按钮添加自动 ID 添加帖子

coffeescript - CoffeeScript 中的字段?

javascript - onMouseover 自定义字典自动解析内容应用工具提示?

javascript - 如何使用透明颜色的 Jquery 禁用点击隐藏功能