javascript报错

JavaScript 常见错误

2022-01-12 19:48:27 更新   浏览量: 314
上一章:js语法报错汇总 下一章:令人困惑的加法和级联

本章指出一些常见的 JavaScript 错误。

意外使用赋值运算符

如果程序员在 if 语句中意外使用赋值运算符(=)而不是比较运算符(===),JavaScript 程序可能会产生一些无法预料的结果。

这条 if 语句返回 false(正如预期),因为 x 不等于 10:

实例

<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var x = 0;
document.getElementById("demo").innerHTML = Boolean(x == 10);
</script>
</body>

运行预览 »

这条 if 语句返回 true(也许不像预期),因为 10 为 true: 

实例

var x = 0;
if (x = 10)
运行预览 »

这条 if 语句返回 false(也许不像预期),因为 0 为 false: 

实例

<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var x = 0;
document.getElementById("demo").innerHTML = Boolean(x = 0);
</script>
</body>
</html>

运行预览 »

赋值总是返回赋值的值。 

期望松散的比较

在常规比较中,数据类型不重要。这条 if 语句返回 true:

实例

<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var x = 10;
var y = "10";
document.getElementById("demo").innerHTML = Boolean(x == y);
</script>
</body>
</html>

运行预览 »

 在严格比较中,数据类型确实重要。这条 if 语句返回 false:

实例

<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var x = 10;
var y = "10";
document.getElementById("demo").innerHTML = Boolean(x === y);
</script>
</body>
</html>

运行预览 »

有一个常见的错误是忘记在 switch 语句中使用严格比较:

这条 switch 语句会显示提示框:

实例

<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var x = 10;
switch(x) {
case 10: alert("Hello");
}
</script>
</body>
</html>

运行预览 »

这条 switch 语句不会显示提示框: 

实例

<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var x = 10;
switch(x) {
case "10": alert("Hello");
}
</script>
</body>
</html>

运行预览 »
扫二微码
上一章:js语法报错汇总 下一章:令人困惑的加法和级联

最近更新 免责声明 关于我们

Copyright © 2004-2021 前端教程 qianduan.cn All Rights Reserved   陕ICP备2021014585号-1 陕公网安备 61012402000223号 前端教程

友情链接:  前端工具 前端插件