2014-10-11 61 views
0

使用Chrome的控制台/调试器:Javascript切换 - 无结果,甚至默认?

在if语句,quickChallengeResponse显示未定义

而且console.dir(quickChallengeTimer)显示30

然而,我的网页上,没有打印,不即使错误 - 并quickChallengeTimer不会更改为60,因为它被告知要做的情况下30.

我的错误是什么?谢谢。

var quickChallengeTimer = 30; var quickChallengeQuestion; 
var quickChallengeAnswer; var quickChallengeResponse; 

    function quickChallenge(quickChallengeTimer, 
quickChallengeQuestion, quickChallengeAnswer) { 

     if (typeof quickChallengeResponse == undefined) { 
      switch (quickChallengeTimer) { 

       case 30: 
        quickChallengeTimer = "60"; 
        quickChallengeResponse = null; 
        console.write("now60"); 
        break; 

       case 60: 
        quickChallengeTimer = "120"; 
        quickChallengeResponse = null; 
        console.write("now120"); 
        break; 

       default: 
       console.write("Error"); 
       break; 
      } 
     } 

     console.dir(quickChallengeTimer); 
    } 



quickChallenge(quickChallengeTimer); 
+1

的结果['typeof'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof)总是一个字符串。该比较应该反对''undefined''(带引号)而不是[全局变量](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined)。 – 2014-10-11 23:41:59

+0

乔纳森,我刚刚添加了'标记,仍然是:没有显示任何内容。 – icor103 2014-10-11 23:43:45

+0

一个大问题是,没有console.write()这样的东西... ... – dandavis 2014-10-11 23:48:28

回答

0

typeof返回一个字符串。你需要把它比对'undefined'

if (typeof quickChallengeResponse == 'undefined') { 
      switch (quickChallengeTimer) { 

而且,在评论中指出,console.write不存在。使用的console.log

jsfiddle

+0

我打算使用document.write。谢谢! – icor103 2014-10-12 00:18:10