在做交友中心的页面的时候,有一个javascript函数,它的第二个参数是动态的。我原来是这样写的:
function foo(x) {
if(arguments[1]) {
// do something..
} else {
// do other..
}
}
但无论传多少个参数进去,都跳过了 if(arguments[1]) 这一步。快要抓狂的时候,终于成功了。
function foo(x) {
if(arguments[1] != undefined) {
// do something..
} else {
// do other..
}
}
想起《Javascript权威指南》里说过,null和undefined有时候是相等的,但有时候是不等的,估计就是指这种情况了。
function foo(x) {
if(arguments[1]) {
// do something..
} else {
// do other..
}
}
但无论传多少个参数进去,都跳过了 if(arguments[1]) 这一步。快要抓狂的时候,终于成功了。
function foo(x) {
if(arguments[1] != undefined) {
// do something..
} else {
// do other..
}
}
想起《Javascript权威指南》里说过,null和undefined有时候是相等的,但有时候是不等的,估计就是指这种情况了。
本文介绍了一个常见的JavaScript函数参数检查问题及解决方法。作者通过实践发现使用`arguments[1] != undefined`来判断第二个参数是否存在更为准确,避免了null与undefined可能导致的误判。
461

被折叠的 条评论
为什么被折叠?



