代码之家  ›  专栏  ›  技术社区  ›  Ryan

更改JS中数字的功能(出于教育目的)

  •  0
  • Ryan  · 技术社区  · 1 年前

    我想知道是否有办法改变 Number 对象(或其他对象),以便当表达式 4(3 - 1) 运行,而不是抛出错误,结果与 4 * (3 - 1) 8 。也许是沿着把数字变成函数的路线?如果有人知道任何方法(除了直接更改编码编辑器),我将感谢您的帮助。

    1 回复  |  直到 1 年前
        1
  •  0
  •   Dimava    1 年前

    不能 使基元在JavaScript中可调用。

    如果你想制作一个允许括号的计算器,可以制作如下

    function myEval(text) {
      // 123(234)567 => 123 * (234)567
      text = text.replaceAll(/(\d) *\(/g, '$1 * (')
      // 123(234)567 => 123(234) * 567
      text = text.replaceAll(/\) *(\d)/g, ') * $1')
      return eval(text)
    }