好吧,我在我的代码中运行了以下函数,并想知道为什么在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"))
答案 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";