我寫了簡單的計算器在JS & jQuery和我遇到了奇怪的行爲。在下面的代碼中,您會看到變量公式,其中包含計算器上按下的每個數字。然後我使用eval()
來評估。爲什麼方程的值在最後沒有定義?
問題是,方程變量的這個值是你所期望但不確定末,而不能找出原因。
整個項目位置:http://codepen.io/ketus/full/XmYRoV/
感謝您的幫助提前!
PS .:我知道關於eval()
的一般意見。它只用於測試,所以我可以移動。我將在解決undefined問題後實施我自己的解決方案。
$(document).ready(function() {
var equation = '';
var input = $('h2[data-value]');
var info = $('#info');
//get keys
var keys = $('.key').filter(function() {
return $(this).data('key');
}).get();
//get operators
var operators = $('.operator').filter(function() {
return $(this).data('operator');
}).get();
//Clearing input
$('.clear').click(function(){
equation = '';
input.html('');
info.html('');
});
//user press keys, check if correct after each click
$('.key').click(function(){
equation += $(this).data('key');
//evaluateEquation();
input.html(equation);
});
//showing result
$('a[data-calc]').click(function(){
input.html(eval(equation.toString()));
});
// rules for equation to be correct
//function evaluateEquation() {
//}
function calculate(){
if(equation.length > 0){
return eval(equation);
} else {
info.html('Enter something!');
return '';
}
}
});
沒有'數據key'爲等於按鈕 –