Break on NaN in JavaScript(在JavaScript中按NaN打断符)
问题描述
是否有任何现代浏览器会在NAN传播上引发异常(即对NAN进行乘法或加法),或者可以配置为执行此操作?
静默NaN传播是一个可怕且隐蔽的错误来源,我希望能够及早发现它们,即使是在性能下降的情况下也是如此。
这里有一个
use strict、jshint等人的示例错误。无法接听:
object = new MyObject();
object.position.x = 0;
object.position.y = 10;
// ... lots of code
var newPosition = object.position + 1; // <- this is an error, and should
// have been object.position.x
// however it fails *silently*,
// rather than loudly
newPosition *= 2; // <- this doesn't raise any errors either.
// this code is actually ok if the
// previous line had been correct
注意:如果类型推断成功,则类型脚本编译器能够检测到类似上面的错误,即使在JS代码中也是如此。
推荐答案
按要求回答问题:
是否有任何现代浏览器会在NAN传播上引发异常(即对NAN进行乘法或加法),或者可以配置为执行此操作?
不。JAVASCRIPT是一种非常宽容的语言,它不在乎你是否想把Math.PI乘以‘马铃薯’(提示:它是NaN)。这只是我们开发人员必须处理的语言的一个缺点(或者好的地方,取决于你的观点)。
解决导致您提出此问题的错误(可能),在对象上使用getter和setter是强制执行此操作的一种可靠方法,还可以防止您犯这样的错误。
这篇关于在JavaScript中按NaN打断符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在JavaScript中按NaN打断符
基础教程推荐
- 当木偶师打开Chrome时,不能使用Chrome扩展 2022-01-01
- 逻辑运算符 ||在 javascript 中,0 代表 Boolean false? 2022-01-01
- 即使每次插入第一个输入的值不同,第二个输入仍显示相同的输入值 2022-01-01
- 从快速中间件中排除路由 2022-01-01
- HTML5 画布调整为父级 2022-01-01
- 带角度的选项卡:仅使用 $http 在单击时加载选项卡 2022-01-01
- 在 Javascript 中使用 Fetch API 上传文件并显示进度 2022-01-01
- CORS:当凭据标志为真时,无法在 Access-Control-Allow-Origin 中使用通配符 2022-01-01
- 使用 jQuery 在悬停时交换 DIV 类 2022-01-01
- 最佳动态 JavaScript/JQuery 网格 2022-01-01
