Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:确定参数是否传递给函数_Javascript_Function_Parameters_Undefined - Fatal编程技术网

Javascript:确定参数是否传递给函数

Javascript:确定参数是否传递给函数,javascript,function,parameters,undefined,Javascript,Function,Parameters,Undefined,等等!在您否决投票和/或将此标记为副本之前,请阅读: 我已经回顾了关于确定参数、变量等是否传递给函数的许多答案,包括and 然而,一致的答案是以某种方式检查未定义的。但这并不一定准确。如果传递的参数本身未定义,该怎么办 基本上,我希望区分: var a = [1,2][2] // where this will result in undefined myFunction(a); vs 答案可能是这是不可能的,在发送函数之前应该捕获未定义的变量,但希望有另一种方法 下面是一个例子,我试图看看

等等!在您否决投票和/或将此标记为副本之前,请阅读:

我已经回顾了关于确定参数、变量等是否传递给函数的许多答案,包括and

然而,一致的答案是以某种方式检查未定义的。但这并不一定准确。如果传递的参数本身未定义,该怎么办

基本上,我希望区分:

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
    }
}