所以我在我的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
我得到類似的結果,顯示在整個腳本等地註冊以及。這是怎麼回事?
你假設Unicode字符 「只是工作」。儘管看起來你確實是指「一個人物」。 –
它也發生在其他人物身上。我是Javascript新手,我不確定如何解決這個問題。有什麼想法嗎? – newbie2015