如何检查参数是否在JavaScript函数定义中定义
How to check if argument is defined in function definition in JavaScript?
例如,如果我有一个这样定义的函数:
function set_name(name) {
return name;
}
但我这样称呼它(出于个人原因):
set_name.apply(this, ['Duvdevan', 'Omerowitz']);
检查和防止set_name
函数进一步执行的最佳实践是什么,如果它接受了多个1
参数/参数?
也,我必须注意,我试图找出一种方法来检查这之前,我调用.apply
函数:
function set_name(name) {
// if(arguments.length > 1) console.log('This is not what I need though.');
return name;
}
var args = ['Duvdevan', 'Omerowitz'];
// Now, at this point I'd like to check if the set_name function can accept two arguments.
// If not, I'd console.log or return new Error here.
set_name.apply(this, args);
这可行吗?
您可以通过Function.length
获取函数期望的参数数量:
function set_name(name) {
return name;
}
var args = ['Duvdevan', 'Omerowitz'];
console.log(set_name.length); // 1
if (args.length > set_name.length) {
throw new Error('Too many values'); // throws
}
set_name.apply(this, args); // not executed
相关文章:
- 表达式引擎扩展开发-向呈现的条目添加自定义javascript
- Can用户'MediaWiki上的自定义JavaScript调用Lua模块
- 动态加载的自定义javascript/jQuery/HTML5音频播放器的问题
- 使用drupal中自定义javascript文件中的一个函数
- 行末尾未定义Javascript
- 使用浏览器在页面(客户端)上运行自定义JavaScript来模拟点击?怎么做
- 在对象中定义JavaScript获取和设置函数,而不使用“;这个“;
- 未定义Javascript文档
- 使用谷歌地图:一个返回undefined的自定义javascript函数
- target=“_空白“;使用自定义javascript生成的html页面
- Meteor:选择自定义javascript和自定义css作为模板
- 用自定义javascript全局命名空间替换窗口
- 怎么了?通过字符串定义 JavaScript 命名空间
- 为什么自定义 JavaScript 文件放在客户端文件夹中时不在我的 Meteor 模板上呈现
- 定义 JavaScript 类的局部变量
- 创建自定义 Javascript 对象的惯用方法有哪些
- 当通过选择页面上所有复选框的 jQuery 脚本选中复选框时,如何触发自定义 javascript 事件
- 我的自定义javascript旋转木马无法正常工作
- 自定义javascript日期
- 如何在联系人表单7 Wordpress中添加自定义javascript函数