这一点代码让我心烦意乱。如果我按下取消,则name
和password
的值必须为null
,但在name
情况下,比较name == null
会返回false
和{{ 1}}返回password == null
。
true
但是如果为变量设置另一个名称,它可以正常工作
var name = prompt('What is your name?', '');
console.log(name);
console.log(name == null); //false
var password = prompt('Password?', '');
console.log(password);
console.log(password == null); //true
我做了一些检查
var userName = prompt('What is your name?', '');
console.log(userName);
console.log(userName == null);
(如我所见,console.log(typeof name); //String
console.log(name); //null
在此处的代码段中返回一些值)
我在the list of reserved words in JavaScript中找到了console.log(name);
,但我没有找到有关此行为的任何解释。