检查无效的javascript函数参数

检查无效的javascript函数参数,javascript,parameters,undefined,Javascript,Parameters,Undefined,如果我需要检查一个参数,我会这样做 if ((typeof param == 'undefined') || (param == null)){ param = ''; //or param = false; } 如果它是一个数字,我可能也会加入一个isNaN检查。我只是想知道是否还有其他事情需要检查,或者如果需要检查参数,您会怎么做。我知道javascript有很多怪癖,可能会影响像这样的东西。检查什么是好的实践 感谢如果布尔表达式中的任何对象是false,未定义的,null,NaN

如果我需要检查一个参数,我会这样做

if ((typeof param == 'undefined') || (param == null)){
    param = ''; //or param = false;
}
如果它是一个数字,我可能也会加入一个
isNaN
检查。我只是想知道是否还有其他事情需要检查,或者如果需要检查参数,您会怎么做。我知道javascript有很多怪癖,可能会影响像这样的东西。检查什么是好的实践


感谢如果布尔表达式中的任何对象是
false
未定义的
null
NaN
0
“0”
“false”
,或
(空字符串),则该对象的计算结果为false

要简明扼要地同时检查所有这些,您可以这样做:

if(!param)

我会简单地说一句陈词滥调,“这取决于你想做什么”

如果您只是想确保定义了值并将其发送到函数,那么您使用的代码应该可以

当然,您还可以检查
参数
数组中的元素,如

if (typeof arguments[0] != "string") {
    alert("Has to be string");
}

// or even

if (arguments.length < 1) {
   // there aren't any parameters
}
if(参数类型[0]!=“字符串”){
警报(“必须是字符串”);
}
//甚至
if(arguments.length<1){
//没有任何参数
}
等等

这本书在很多方面都很有帮助。您还可以使用它重载函数-根据提供的参数数量提供不同的功能或参数,等等


但是除此之外,我不知道你需要什么。

'undefined'
undefined
不一样,用===代替==@Dre。我明白我的意思,我不知道没有qoutes你可以做undefined。我从某个网站上了解到这一点,不知道还有其他方法可以做到;或者如果有更好的方法。实际上@Dre,它是
“未定义的”
而不是
未定义的
-请看@arnorhs Oops,我没有注意到那里的类型,这完全改变了事情。@Dre你把它和if(object==未定义的)-这是一个完全不同的球类游戏…嗯。。他可能实际上收到一个布尔值或零,他仍然认为这是一个有效值parameter@arnorhs-是,这取决于场景0或false是否有效,但这仍然非常有用+“我给彼得写封信,”正如你在回答中所说,“这取决于你想做什么。”。这是一个简短而有用的技巧,只要你说,0或false不是你将拥有的输入。这确实有助于我将所有这些结合起来。有时可能无法传入参数,如果不是,我只想将“”分配给它或其他对象。还有其他一些场景,但如果我知道如何为其中一个场景执行此操作,这将有助于我更好地理解其他场景。您能举出一个您想知道如何验证参数的示例吗?我想我能想到的一个简单示例是,我有一个名为updateCell的函数,用于更新表格单元格。它有两个参数:要更新的单元格id和新内容。我需要检查单元格id是否有效,是否存在id为-$(“#”+cellId)的单元格。length会执行此操作,如果新内容为空或无效,则将其设置为不间断空格。