javascript - 网站编辑不断更改脚本并使其变得无用

标签 javascript

所以我在我的 Weebly 网站上使用一个脚本来生成一个功能齐全的科学计算器。不幸的是,脚本会产生错误:

“忽略具有 [LenientThis] 的 get 或 set 属性,因为‘this’对象不正确。”

当我返回脚本查看发生了什么时,我注意到一些字符已被更改(见下文),从而导致脚本无法使用。下面是一段代码应该是什么样子的:

(function(window) {
    'use strict';

    var calcSS3 = document.querySelector('.calc-main'),
    // display things
    display = calcSS3.querySelector('.calc-display span'),
    radDeg = calcSS3.querySelector('.calc-rad'),
    smallerButton = calcSS3.querySelector('.calc-smaller'),
    hold = calcSS3.querySelector('.calc-hold'),
    lnButton = calcSS3.querySelector('.calc-ln'),
    helpButton = calcSS3.querySelector('.calc-info'),
    secondKeySet = [].slice.call(calcSS3.querySelector('.calc-left').children, 12, 20),
    hiddenCopy = calcSS3.querySelector('textarea'),

    pressedKey,
    frozenKey, // active calculation keys
    secondActive = false, // 2nd key active?
    bracketKey,
    brackets = 0, // count of current open brackets
    calculator = [], // instances of Calculator
    deg = false, // Deg mode or Rad
    memory = 0,
    resBuffer = '0',
    bigger = false, // app size
    ln = 0,
    buffStr = [],
    sav = ['secondActive', 'deg', 'memory', 'buffStr', 'resBuffer'],
    keyBoard = {},
    secondLayer = [
        ['sin', 'cos', 'tan', 'ln', 'sinh', 'cosh', 'tanh', 'e<sup>x</sup>'],
        [
            'sin<sup>-1</sup>',  'cos<sup>-1</sup>',  'tan<sup>-1</sup>',  'log<sub>2</sub>',
            'sinh<sup>-1</sup>', 'cosh<sup>-1</sup>', 'tanh<sup>-1</sup>', '2<sup>x</sup>'
        ]
    ],
    Calculator = function() { // for every '(' a new instance
        this.stack = [],
        this.num = 0,
        this.res = 0,
        this.buff = [false, false];

        this.curr = true;

        this.rank = {
            '=': 0,
            '+': 1, '-': 1,
            '/': 2, '*': 2,
            'yx': 3, 'x√y': 3, 'EE': 3
        };
    };          

在倒数第三行,这是我得到的:

    'yx': 3, 'xây': 3, 'EE': 3

我在整个脚本的其他地方也得到了类似的结果。怎么回事?

最佳答案

您需要使用 "\u221A" 作为 sqrt 字符表示法才能使其正常工作。

进一步引用:

using unicode in Javascript
square root character/symbol

关于javascript - 网站编辑不断更改脚本并使其变得无用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33930413/

相关文章:

javascript - Vue组件通信

javascript - 灯箱背景颜色应使用 CSS 覆盖整个屏幕

javascript - 仅在未设置字符串值时运行,每次都运行

javascript - 如何让所有 Javascript 处理使用 JQuery .load() 加载的 html 部分

javascript - 如何禁止在 react 选择的输入栏中显示所选值?

javascript - PHP 包含的 Node.js 等价物是什么?

JavaScript getElementByID - JavaScript 代码中的错误(字段留空但单击时不会变成红色)

javascript - event 是一个全局变量,可以在回调链中的任何地方访问吗?

javascript - Winston 输出 json 而不是格式化字符串

php - 是否可以在没有 javascript 的情况下实现 Oauth 2.0?