2015-11-26 54 views
4

所以我在我的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 

我得到類似的結果,顯示在整個腳本等地註冊以及。這是怎麼回事?

+1

你假設Unicode字符 「只是工作」。儘管看起來你確實是指「一個人物」。 –

+0

它也發生在其他人物身上。我是Javascript新手,我不確定如何解決這個問題。有什麼想法嗎? – newbie2015

回答