我在 js 中使用引号时遇到问题... 我有一个使用这个 js 函数的输入字段
function validate(xyz) {
"+umum+" == "yeah_it_is_ok";
if(xyz == ""+umum+"") {
alert("Hoera!");
return true;
} else {
alert("Too bad!");
return false;
}
}
我必须在输入字段中插入什么才能获取
Hoera
消息?$
也就是说js中的
"
或者+
的作用是什么?
函数声明中没有语法错误, 但在执行时会失败,因为 umum 没有定义; 当然你有一个语义错误,因为获得“Hoera”的唯一方法 就是先声明 umum var,然后调用 validate 函数:
var umum;
validate("test value");
当然,总是给出“太糟糕了!”消息,除非您传递“”+未定义+“” 作为参数。我认为正确的功能应该是:
function validate(xyz) {
var umum = "yeah_it_is_ok"; // or whatever you want to validate with..
if(xyz == umum) {
alert("Hoera!");
return true;
} else {
alert("Too bad!");
return false;
}
}
在这种情况下,当调用 validate("yeah_it_is_ok") 时,你会得到一个“Hoera!”。
您可能想要声明一个这样的变量:
var umum = "yeah_it_is_ok";
注意
var
关键字以及使用单个 equals 进行赋值。
此外,一对
"
字符用于包围字符串变量,+
将连接两个字符串。但是,如果您希望在字符串中使用双引号,则需要使用退格键 \
将其转义。例如:
if(xyz == "\"+umum+\"") {
单引号和双引号字符用于分隔字符串常量。
+
字符是一个具有多种用途的运算符,包括字符串连接、数字加法和断言数字“正数”(经常因其隐式副作用而使用)。
我认为你的意思是这样编写你的函数。
function validate(xyz) {
umum = "yeah_it_is_ok";
if(xyz == umum) {
alert("Hoera!");
return true;
} else {
alert("Too bad!");
return false;
}
}
那么为了回答您的问题,您可以将您要查找的字符串放入输入字段中。其中,由于您的示例中没有输入字段,因此我们可以使用正确的字符串调用该函数。
validate("yeah_it_is_ok");
此外,您似乎认为可以在变量中使用
"
或 +
。你不能那样做。正如其他人所建议的,您应该学习 JavaScript 的基础知识。 w3schools.com 和 Mozilla 开发者网络是实现这一目标的好地方。
我相信你在它前面放了一个\ 很喜欢
if(xyz == "\"+umum+\"") {