npm 包 essy-evaluator 使用教程

介绍

essy-evaluator 是一个基于 JavaScript 的数学表达式求值器,可以用于浏览器端以及 Node.js 服务端。

该模块的优势在于:

  • 易用性高
  • 支持各种表达式和操作符
  • 非常精准,支持大精度
  • 安全,支持阻止潜在的恶意绕过

下面是该模块的主要特性:

  • 精度高
  • 默认支持以上运算符/函数/常量
  • 支持自己添加二元运算符和一元运算符(最多支持3个参数)
  • 支持自己添加常量
  • 支持自己添加函数
  • 检测潜在的无限循环或额外长的表达式以及安全地消耗它们
  • 支持错误管理

安装

你可以选择直接从 npm 安装 essy-evaluator:

--- ------- ------ --------------

使用

essy-evaluator 模块提供一个名为 evaluate 的函数,我们可以通过传递一个字符串类型的表达式来进行求值操作。下面演示一个简单的使用例子:

------ - -------- - ---- -----------------

----- ------ - ----------- - - - - - - - ---
-------------------- -- -- ----

操作符

essy-evaluator 模块支持以下的操作符:

  • 加法:+
  • 减法:-
  • 乘法:*
  • 除法:/
  • 取模:%
  • 次方:^
  • 大于:>
  • 大于等于:>=
  • 小于:<
  • 小于等于:<=
  • 等于:==
  • 不等于:!=
  • 严格等于:===
  • 严格不等于:!==
  • 逻辑与:&&
  • 逻辑或:||
  • 逻辑非:!
  • 位移左:<<
  • 位移右:>>
  • 无符号右移:>>>
  • 位与:&
  • 位或:|
  • 位异或:^
  • 位非:~

常量

essy-evaluator 模块支持以下常量:

  • $E:自然常数 e。
  • $LN10:10 的自然对数。
  • $LN2:2 的自然对数。
  • $LOG10E:自然常数 e 以 10 为底的对数。
  • $LOG2E:自然常数 e 以 2 为底的对数。
  • $PI:π。
  • $SQRT1_2:1/2 的平方根。
  • $SQRT2:2 的平方根。

函数

essy-evaluator 模块提供了以下内置函数:

  • abs(x):返回 x 的绝对值。
  • acos(x):返回 x 的反余弦值(单位:弧度)。
  • asin(x):返回 x 的反正弦值(单位:弧度)。
  • atan(x):返回 x 的反正切值(单位:弧度)。
  • ceil(x):向上取整。
  • cos(x):返回 x 的余弦值。
  • exp(x):返回 e 的指数值 x。
  • floor(x):向下取整。
  • log(x):返回 x 的自然对数。
  • max(x1, x2, ...):返回一组数中的最大值。
  • min(x1, x2, ...):返回一组数中的最小值。
  • pow(x, y):返回 x 的 y 次方。
  • random():返回一个随机数。
  • round(x):四舍五入取整,如果有第二个参数 n,则四舍五入精度为 n 位。
  • sin(x):返回 x 的正弦值。
  • sqrt(x):返回 x 的平方根。
  • tan(x):返回 x 的正切值。

该模块还支持自定义函数的添加,如下示例代码:

------ - --------- ---------------- - ---- -----------------

-- --------
----------------------- --- -- -- - - ---

----- ------ - ---------------- -----
-------------------- -- -- -

结论

在本篇文章中,我们介绍了 npm 包 essy-evaluator 的使用方法和几种操作符、常量、函数,同时也演示了如何自定义一些函数、常量和运算符。使用 essy-evaluator 可以轻松地实现数学表达式的计算,并且该模块功能强大、优秀的代码质量和灵活的 API 都是 Essy Software 公司的优势之一。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005681881e8991b448e43c2


猜你喜欢

  • npm 包 @cutii/react-native-invertible-scroll-view 使用教程

    在 React Native 中,ScrollView 组件可以用来滚动显示多个组件,但是默认情况下它的滚动方向是从上到下。如果我们需要一个从下到上的滚动列表,可以使用 @cutii/react-na...

    3 年前
  • npm 包 angular2-tools 使用教程

    在开发 Angular 2 应用程序时,我们经常需要使用一些工具来帮助我们提高开发效率和代码质量。其中,angular2-tools 是一个非常受欢迎的 npm 包,它提供了许多有用的工具,使得开发 ...

    3 年前
  • npm 包 bouncing-ball 使用教程

    什么是 bouncing-ball? bouncing-ball 是一款基于 JavaScript 的 npm 包,它提供了一个可以让用户调整参数在页面上绘制弹跳球动画的组件,该组件的使用十分简单,可...

    3 年前
  • NPM 包 Git-ticket 的使用教程

    Git-ticket 是一款 Node.js 模块,其可以将 Git 中的 commit message 转换成 Jira 或其它项目管理工具中的 ticket。本文将详细介绍 Git-ticket ...

    3 年前
  • npm 包 hello-world-simple 使用教程

    简介 在前端开发中,我们经常需要使用各种 npm 包来辅助我们完成代码编写。而 hello-world-simple 就是一种提供给开发者使用的 npm 包。本文将会详细介绍该包的使用方法及其指导意义...

    3 年前
  • pdf2img-promises

    A Node.js module for converting a pdf into an image file, using Promises node-pdf2img-promises A No...

    3 年前
  • npm包fuck-env使用教程

    随着前端技术的不断更新,前端开发中也出现了很多的使用工具,其中一个比较常用的工具就是npm包。npm包可以让我们方便地进行模块管理和版本控制,是前端开发中必不可少的一部分。

    3 年前
  • npm 包 js-auth 使用教程

    在前端开发中,认证和授权是必不可少的功能。要实现这些功能,通常需要编写许多代码以及执行一些复杂的过程。但是,有一个方便的 JavaScript 包叫做 js-auth,可以帮助我们轻松地实现用户认证和...

    3 年前
  • 使用 require-wrapper 简化 npm 包的引用

    在前端开发过程中,大量使用第三方 npm 包来加快开发速度。但是当需要引用多个包时,每次都手动引用并导入他们显得繁琐且易出错。为了解决这个问题,我们可以使用 require-wrapper 这一 np...

    3 年前
  • npm包promisified-fs的使用教程

    在前端开发中,经常需要操作文件系统。Node.js提供了一组文件系统模块,例如fs模块,可以实现相关操作。然而,fs模块需要使用回调函数来处理异步操作,这样的写法非常不利于代码的阅读与维护。

    3 年前
  • npm 包 smart-observe 使用教程

    在前端开发中,我们经常需要监听 DOM 元素的变化。而在过去,要做到这一点需要用到 MutationObserver API,需要编写一些冗长的代码。而现在,npm 包 smart-observe 提...

    3 年前
  • npm 包 @michelsch92/react-datepicker 使用教程

    前言 随着前端技术的不断发展,前端功能越来越丰富,用户体验也得到了大幅提升。日期选择器作为前端中常见的组件之一,十分方便我们对于日期的选择和展示。今天我们就来了解一下使用 npm 包 @michels...

    3 年前
  • npm 包 eglass-wx-picker 使用教程

    前言 在开发微信小程序时,我们经常需要在页面中添加一些选择器,如日期选择器、时间选择器、城市选择器等。虽然小程序平台已经提供了常见的选择器组件,但某些场景下还是有一些需要自定义的需求。

    3 年前
  • npm 包 hubot-http-post-say 使用教程

    简介 hubot-http-post-say 是 Hubot 的一个 npm 包, 目的是将 Hubot 的机器人消息作为 HTTP POST 请求发送到指定的 URL. 该 npm 包可以被用于处...

    3 年前
  • npm包ember-light-gallery使用教程

    Ember Light Gallery是一个用于Ember.js应用程序的基于Light Gallery的轻量级照片库插件。本教程将详细介绍如何使用npm包ember-light-gallery创建自...

    3 年前
  • npm 包 react-extension-point 使用教程

    简介 React 是一个非常流行的 JavaScript 库,用于构建用户界面。React 的一个优点是我们可以使用许多第三方组件和库来扩展我们应用的功能。npm 是全球最大的软件库,其中存储了超过 ...

    3 年前
  • npm 包 macmotp 使用教程

    简介 macmotp 是一款基于 Node.js 开发并且完全符合 HOTP (HMAC-based one-time password) 算法实现的 npm 包,可以实现类似 Google Auth...

    3 年前
  • npm 包 cssauron2 使用教程

    什么是 cssauron2 cssauron2 是一个 npm 包,它可以帮助我们在 DOM 树上进行高效的选择器匹配。它提供了一种类似于 css 选择器的语法,并且可以扩展语法以适应我们的特定需求。

    3 年前
  • npm 包 easy-p2p 使用教程

    在前端开发中,如果需要实现浏览器之间互相通信,则可以使用点对点(Peer-to-Peer,简称 P2P)技术。easy-p2p 是一个基于 WebRTC 技术的 npm 包,可以方便地实现浏览器之间的...

    3 年前
  • npm 包 fs-fs 使用教程

    在编写前端代码时,我们常常需要通过 Node.js 的文件系统模块(fs)进行文件操作。然而,该模块的 API 并不够友好,有时还需要编写一些冗长的代码。为了解决这个问题,可以使用一个 npm 包——...

    3 年前

相关推荐

    暂无文章