我在页面的开头有一个提示,并且标题文本根据用户的输入而更改。由于单击 Cancel 按钮会返回null,而单击 Ok 按钮却未在字段中输入任何文本会返回一个空字符串,因此我在代码中使用了两次检查来更改文本相应地。问题是单击取消按钮时,提示实际上未返回null。而是将其作为字符串返回。
Javascript:
var name = prompt("Enter your name");
var header = document.getElementById("welcome-header");
if (name !== "null" && name !== "") {
header.innerHTML = `Welcome, ${name}!`;
}
为了适应这一点,我不得不将 null 放入字符串中,如代码片段所示。我想念什么吗?
Here's,其中W3显示它应该返回null。
答案 0 :(得分:0)
您可以进行虚假检查:
let ops = [[false, false],[false, true], [true, false], [true, true]];
function xor(cond1, cond2){
return cond1 + cond2 == 1;
}
for(op of ops){
console.log(`${op[0]} xor ${op[1]} is ${xor(op[0], op[1])}`)
}
答案 1 :(得分:0)
尝试此操作,您不必在乎是否为null,如果不为null,则其长度应为> 0,但是如果仅输入空格,则可以使用简单的正则表达式查找任何单词。不知道为什么将null作为字符串传递,我无法复制该行为,但是如果是边缘情况,请尝试:
if (name != 'null' && name.match(/\w/).length > 0 {
header.innerHTML = `Welcome, ${name}!`;
}