2

好的,所以我今天开始学习javascript,我正在制作一个非常简单的用户输入系统。

所以我试图让用户输入的名称更改警报输出。这是代码

var firstName = prompt("What's your name?", "");
alert ( "Welcome, user "+ firstName + "!")

document.write(firstName + " logged on");

所以这将输入所有名称,输出为“欢迎用户(输入名称)”并让 document.write 为“(输入名称)已登录”

如果输入诸如“您具有管理员访问权限”之类的特定名称,我想说些什么,我将使用的代码是这样的:

var firstName = prompt("What's your first name?", "");
alert ( "Welcome, user "+ firstName + "!")

document.write(firstName + " logged on");
console.log(firstName + " logged on");
if (firstName = "nate"){
    alert ("you now have admin access")
};

如您所知,这是错误的。有没有办法正确地做到这一点?如果有,是什么?

4

4 回答 4

1

一个=符号表示您正在分配一个变量。并且由于您分配的值是真实的,因此将执行 if。要比较两个对象==,请使用类型转换,或者===如果您想要严格类型,例如 5 != "5"

于 2013-09-03T23:26:40.920 回答
1

如果您要比较两个值,请将 = 替换为 ==。

于 2013-09-03T23:59:28.647 回答
0

=运算符用于赋值。您想==比较这些值。

有些人可能会建议===检查类型(除了值),但prompt()总是返回一个字符串,并且您将它与字符串进行比较。了解工具,然后选择最佳方法。

于 2013-09-03T23:24:45.927 回答
0

single=是赋值运算符。要进行比较,您需要使用==.

==随着您了解更多,您可能想研究&之间的区别===,尽管它现在可能不是最重要的要注意的事情。

于 2013-09-03T23:25:10.050 回答