在firebug中获取未定义的变量错误

时间:2013-11-13 19:14:27

标签: javascript

好吧,我在我的代码中运行了以下函数,并想知道为什么在Firebug中出现错误,如下所示:

function TestSurvey(UniqueID, PhontTypes) {

            if(typeof(PhontTypes) != "undefined")
                PhontTypes = "4";

            if (PhontTypes.match("5")) 
            {
                window.location = some url location here...
            }
            else
            {           
                window.location = some url location here...                 
            }

    }

我在firebug中遇到的错误如下:

TypeError: PhontTypes is undefined

if (PhontTypes.match("5"))

1 个答案:

答案 0 :(得分:1)

typeof条件似乎已被颠倒。它目前将PhontTypes限制为仅undefined"4" - 没有别的。

要让undefined替换为"4"的“默认”值,它应检查是否相等(=====)代替:

// if currently `undefined`, set default
if(typeof PhontTypes == "undefined")
    PhontTypes = "4";

或者,由于下一行希望String.prototype.match()可用,您可以替换所有不是String的值:

if (typeof PhontTypes != "string")
    PhontTypes = "4";