在控制台中:
>var t = function(undefined){
return undefined
}
>t("ss")
>"ss"
我不明白为什么它会返回一个字符串。虽然
void(0)
始终返回undefined
答案 0 :(得分:3)
通过在函数表达式中将参数名称设置为finalists = finalistsOpen()
,可以屏蔽也称为undefined
的全局变量。
当您将undefined
作为第一个参数传递时,它将被分配给局部变量"ss"
。
当您undefined
时,您返回的局部变量return undefined
的值为undefined
,因为这是您分配给它的内容。