我的客户端选项是什么

What are my client-side options?

本文关键字:是什么 选项 客户端 我的      更新时间:2023-09-26

我喜欢javascript,不要误解我的意思,但我的问题是,我目前想开发用于科学计算的开源web应用程序,而javascript的算法并不是最精确的。我已经编写了服务器端的脚本,但我更喜欢客户端,原因很明显,用户的体验通常更流畅,服务器上的负载更少。

就解决这个问题而言,我有什么选择?我在某个地方读到,你可以在javascript之上实现语言——这值得吗?这看起来像什么?如果我在javascript之上实现python,这是否意味着客户端需要一个python解释器来使用该网站?

我就是无法处理

0.1 + 0.2 == 0.3 // is False

浮点运算是近似计算

这是没有错的看到更多关于它

的怪异编程行为

THis不是javascript特有的,但在整个的编程中很常见

这是我在chrome上得到的:

0.1 + 0.2 = 0.30000000000000004;

这里有一篇关于这个主题的简单但优秀的读物:

每个程序员应该知道的浮点算术

为什么我的数字,比如0.1+0.2加起来不是一个很好的0.3,而是一个奇怪的结果,比如0.300000000000000004

因为在内部,计算机使用一种格式(二进制浮点)其根本不能准确地表示像0.1、0.2或0.3这样的数字。

编译或解释代码时,您的"0.1"已经四舍五入到该格式中最接近的数字,结果是四舍五入误差甚至在计算发生之前。

有几个库可以进行更好的数学运算:

  • 大数字
  • Big Js(不同的库)

然而,我强烈建议在服务器端这样做。您可以通过AJAX轻松地执行此操作,而不必担心响应性。Javascript并不是真正为数字而构建的。