2014-09-30 67 views
-1

我有這個非常簡單的計算器。本質上,我想將小復活節彩蛋放入代碼的功能中。這是我的codepen以顯示我迄今爲止所做的。我已經評論過我沒有奏效的嘗試。我知道codepen不顯示警報,所以我已經嘗試過他們的實時頁面,警報仍然不起作用。這裏是JavaScript當顯示數字時附加警報()

// Variables 

var appendDigits = false 
var prevResult = 0 
var op = "=" 

//Functions 

function clearDisplay() { 
document.calculator.display.value = 0 
prevResult = 0 
appendDigits = false 
op = "=" 
} //clear 

function doOp(newop) 
{ 
var newArg =eval(document.calculator.display.value) 
if (op == "+") { 
    prevResult = prevResult + newArg   
} 
else if (op == "-") { 
    prevResult = prevResult - newArg   
} 
else if (op == "/") { 
    prevResult = prevResult/newArg 
} 
else if (op == "*") { 
    prevResult = prevResult * newArg 
} 
else if (op == "=") { 
    prevResult = newArg 
} 
// else if (newArg == 42) { 
// alert("You have found the meaning of life, the universe, and everything."); 
// } 
    else { 
     prevResult = newArg 
    } 
    document.calculator.display.value = prevResult 
    appendDigits = false 
    op = newop 
} //doOp 

function digit(dig) { 
    if (appendDigits) { 
     document.calculator.display.value += dig 
    } 
    else { 
     document.calculator.display.value = dig 
     appendDigits = true 
    } 
} 

//fuction meaning(document.calculator.display.value) 
//{ 
// if ("newArg" == "42") { 
// alert("You have found the meaning of life, the universe, and everything."); 
// } 
// else { 
// prevResult = newArg 
// } 
//} 
+0

我在codepen上的JS代碼的頂部添加了一個「alert('hello')」,並且警報在最新的chrome中正確彈出。 http://codepen.io/anon/pen/Kxekc – Will 2014-09-30 19:11:21

+0

你沒有在註釋代碼中正確拼寫功能。這可能是你的問題嗎? – 2014-09-30 19:17:23

回答

0

利用這計算器顯示的值轉換爲int:

else if (parseInt(newArg) == 42) { 
    alert("You have found the meaning of life, the universe, and everything."); 
} 
0

您需要添加外你檢查的if/else if循環支票「運」另有其中一個「if op ==」選項將評估true並結束循環。

你可以把它分配newArg之後:

var newArg =eval(document.calculator.display.value) 

    if (newArg == 42) { 
    alert("You have found the meaning of life, the universe, and everything."); 
    } 
0

如果可能的話,儘量不要使用eval語句在JS。這被認爲是不好的做法。
見:Why is using the JavaScript eval function a bad idea?

演示:http://codepen.io/anon/pen/Kxekc

而是使用下面你輸入轉換爲數字:

var newArg = parseInt(document.calculator.display.value,10); 

    if (newArg == 42) { 
    alert("You have found the meaning of life, the universe, and everything."); 
    } 

底部的功能也輸錯: //機能的研究意義( document.calculator.display.value)