Javascript:确定参数是否传递给函数
等等!在您否决投票和/或将此标记为副本之前,请阅读: 我已经回顾了关于确定参数、变量等是否传递给函数的许多答案,包括and 然而,一致的答案是以某种方式检查未定义的。但这并不一定准确。如果传递的参数本身未定义,该怎么办 基本上,我希望区分:Javascript:确定参数是否传递给函数,javascript,function,parameters,undefined,Javascript,Function,Parameters,Undefined,等等!在您否决投票和/或将此标记为副本之前,请阅读: 我已经回顾了关于确定参数、变量等是否传递给函数的许多答案,包括and 然而,一致的答案是以某种方式检查未定义的。但这并不一定准确。如果传递的参数本身未定义,该怎么办 基本上,我希望区分: var a = [1,2][2] // where this will result in undefined myFunction(a); vs 答案可能是这是不可能的,在发送函数之前应该捕获未定义的变量,但希望有另一种方法 下面是一个例子,我试图看看
var a = [1,2][2] // where this will result in undefined
myFunction(a);
vs
答案可能是这是不可能的,在发送函数之前应该捕获未定义的变量,但希望有另一种方法
下面是一个例子,我试图看看前面的任何建议在上述两种情况下是否有所不同——运气不好
如果这确实是一个重复的问题,请为我指出正确的方向。您可以使用一些参数迭代,并检查传递的任何值是否为falsy未定义、null、NaN、0或false:
arguments.LengthThank@trincot.Thank Jack-我不知道arguments对象,这似乎是问题的症结所在。没问题@elPastor,如果我的答案解决了你的问题,请将其标记为已接受。trincot的评论是解决问题的原因,但我感谢你的帮助。
myFunction(); // where no variable whatsoever is passsed.
function myFunction() {
if (arguments.some(e => !e)) {
console.log("Falsy value passed");
} else {
//Rest of function goes here
}
}