【发布时间】:2016-11-30 13:02:03
【问题描述】:
我的一个朋友通过取消提示问我为什么这段代码不能正常工作。
<script type="text/javascript">
var name = prompt("Enter your name:", "");
if (!name) {
name = "unknown";
}
var ans =("<h2>" + "Hello, "+ name + "!"+"</h2>");
document.write(ans);
</script>
这里是 jsfidle https://jsfiddle.net/085svr3u/
我发现,在上面的例子中,propmt 返回“null”,即。通过取消将 null 作为字符串。我也不知道为什么。
我尝试使用原始代码并对其进行了一些重构。现在它按预期工作。但我还是没有解释。
<script type="text/javascript">
function test() {
var name = prompt("Enter your name:", "");
if (!name) {
name = "unknown";
}
var ans =("<h2>" + "Hello, "+ name + "!"+"</h2>");
document.write(ans);
}
test();
</script>
这里是修改版https://jsfiddle.net/085svr3u/1/
提前谢谢你。
【问题讨论】:
-
sometimes 这个词在 IMO 编程中没有任何意义。它有或没有......
"null"的原因可能是用户输入了null作为prompt中的输入 -
@SLaks 的问题是,为什么
null会变成一个字符串。 -
您粘贴了两次相同的代码。我想第一个应该没有
if声明? -
不,他没有,第二个在函数内@nicael
标签: javascript