等待!:在您向下投票和/或将其标记为重复项之前,请阅读:
对于确定是否将参数(参数,变量等)传递给函数(包括this和this)的问题,我已经审查了很多关于SO的答案。
但是,共识的答案是检查一种或另一种未定义的方法。但这不一定是准确的。如果传递的参数本身未定义怎么办?
基本上,我正在寻求区分:
var a = [1,2][2] // where this will result in undefined
myFunction(a);
vs。
myFunction(); // where no variable whatsoever is passsed.
答案可能仅仅是:这是不可能的,未定义的变量应该在发送给函数之前捕获,但希望有另一种方法。
这里是JSFiddle,我尝试查看上述两种情况之间先前的建议是否有所不同-都没有运气。
如果这确实是一个重复的问题,请指出正确的方向。
答案 0 :(得分:1)
您可以做的是用arguments
遍历some
并检查传递的值是否是虚假的(undefined
,null
,NaN
,{{ 1}},0
或""
):
false