JS脚本行为取决于变量的名称

时间:2018-03-21 23:10:48

标签: javascript

我对JavaScript非常陌生,我正在尝试学习一些基础知识。

我一直坚持这个:

var name = prompt('enter your name', '');

if( name == null ) {
    alert('Cancelled');
} else if ( name == 'admin' ) {
    alert('hi admin');
} else {
    alert('I don\'t know you');
}

如果我按esc(或取消按钮),我应该取消'取消'消息,但它不知道你'出于某种原因。

但有趣的是,如果我将变量重命名为其他内容,例如:

var usr = prompt('enter your name', '');

if( usr == null ) {
    alert('Cancelled');
} else if ( usr == 'admin' ) {
    alert('hi admin');
} else {
    alert('I don\'t know you');
}

......它会正常工作。

出了什么问题?我已经在不同的浏览器中尝试过了,我用Google搜索了禁止的变量名称,但我没有答案。

PS:我知道esc或者取消会在safari中返回空字符串,但它会在所有浏览器中出现

2 个答案:

答案 0 :(得分:0)

可能通过convert peppers_tiny.png -colorspace YIQ -separate \ -swap 0,1 -set colorspace sRGB -combine peppers_tiny_yiq3.png 声明了一些元素。该元素将分配给id=name

只需在调试器中设置断点并查看值。为您的代码做好准备并使用name / let而不是const

var

答案 1 :(得分:0)

esc 键不是输入键,它只用于中断程序的当前状态 ......所以我建议你使用

if(!name)// instead of 
if(name == null)