今天,引起公众注意的是在
Try .NET中发现的一个有趣的不合逻辑的错误,该工具旨在将交互式示例嵌入到C#文档中。 您可以
在链接上在Github
上看到未解决的问题。
给定的代码在执行时(调用
Math.Round方法时)而不是预期的结果,突然从浏览器打开打印窗口:
using System; public class Example { public static void Main() { var x = Math.Round(11.1, MidpointRounding.AwayFromZero); } }

使用错误跟踪和断点,用户发现了此行为的一个据称原因-它被隐藏在
mono.js库中。

答案很简单。 显然,有人想在JS中使用自己的
print()函数(或将它与
console.log混淆),但是由于在范围内找不到该程序,因此该程序调用
window.print() ,这实际上应该打开当前窗口的打印窗口。 document-因为
window是浏览器中主流的全局对象。
没有立即注意到此后备情况,但是一个用户声称此错误
已于去年11月修复 。
为了避免发生此类错误,
create-react-app项目维护了一个
“令人困惑”的浏览器全局变量列表 ,因为产生类似的错误非常简单:
handleClick() {