在这里举一个示例函数:
function a(b){
console.log(b != null ? 1 : 2);
}
该代码工作正常,如果传递参数则打印 1,如果不传递参数则打印 2。
但是,JSLint 给了我一个警告,告诉我改用严格等式,即!==
. 无论是否传递参数,该函数在使用时都会打印 1 !==
。
所以我的问题是,检查参数是否已通过的最佳方法是什么?我不想使用arguments.length
,或者实际上根本不想使用该arguments
对象。
我尝试使用这个:
function a(b){
console.log(typeof(b) !== "undefined" ? 1 : 2);
}
^ 这似乎有效,但这是最好的方法吗?