JavaScript中被忽略的参数的值是多少
what is the value of an ignored parameter in javascript?
我想知道 JS 中被忽略的参数的值是多少。假设一个函数将 2 个值作为参数,我们在调用中只提供一个。另一个的价值是什么?我以为它会是未定义的,但以下代码段仅显示"1"。
var test = function(par1, par2){
document.write(par1.toString());
document.write(par2.toString());
if(typeof par2 === "undefined"){
document.write('undefined');
}
};
test(1);
以下代码将起作用:
var test = function(par1, par2){
document.write(par1.toString());
document.write(par2);
if(par2 === undefined){
document.write('undefined');
}
};
test(1);
如果未提供参数,则其值为 undefined
。请注意,变量本身是可用的(毕竟,它的名称已经通过参数列表提供给函数,并且在 JavaScript 中计数的名称),因此无需通过typeof var === 'undefined'
检查它以避免那些讨厌的 ReferenceErrors。
undefined
是 JavaScript 中的一个特殊值。虽然您不能对其调用任何方法(失败并出现undefined is not an object
错误),但您仍然可以在表达式和函数调用中使用它。在这种特殊情况下document.write
会在显示之前将此值隐式转换为字符串;结果将是一个字符串 - 'undefined'
。
演示。
尝试:
var test = function(par1, par2){
if(par2 === undefined){
document.write('undefined');
}
};
test(1);
工作演示
您还可以检查是否设置了属性。例:
var test = function(par1, par2){
if(par1 === undefined){
document.write('par1 is undefined');
}else{
document.write('par1 is set');
}
if(par2 === undefined){
document.write('par2 is undefined');
}else{
document.write('par2 is set');
}
};
test(1);
输出将是:
par1 is set
par2 is undefined
演示 2
希望对:)有所帮助
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 使用Express捕获参数
- 参数变量出现ngTable指令问题
- AngularJS:我可以跳过函数参数回调吗
- 如何使用skip参数使用angular ui引导进行服务器端分页
- 要求未定义JS回调参数
- 我的jQuery插件参数没有正确启动,遇到了问题
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- jquery设置为使用参数运行
- Javascript”;类“;带有参数的扩展
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 函数未将值作为参数传递
- 如何将参数传递到angularJs中的工厂
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 在 JavaScript 中有多少参数太多了
- JavaScript中被忽略的参数的值是多少
- 我可以在一个链接上使用多少个参数
- setTimeout和setinterval的第二个参数是必需的吗?如果不是,默认值是多少
- 在downloadUrl中,回调函数参数的值是多少
- 使用DOM和封装方法,用Javascript OOP传递参数.多少就太多了