我是Javascript的新手并且正在努力弄清楚为什么这段代码对我不起作用。
本质上我是在定义一个变量,但是当我在IF或Switch语句中使用该变量时,它似乎无法匹配变量的内容。没有错误,IF语句只是不满意。使用Switch时,它始终会进入默认设置,因为它与内容不匹配。
在定义变量后,我有一个Print语句,它确实正确地显示了变量的内容。
我真的不知道为什么打印可以返回变量的值,但IF和Switch找不到它。
以下是我正在处理的片段。变量是“strWilma”,它在Print第二个值语句中没有得到正确反映,但在IF中却没有。
for (var i=0; i < Flinstones.length; i++)
{
if (Flinstones[i].startsWith("?"))
{
// Convert the Secondary field map to a Properties item, for easier navigation
var objSecondaryFieldMap = PropertiesFromString(strSecondaryFieldMap);
// Map all of the Secondary values
var arraySecondaryFields = objSecondaryFieldMap.keys();
while (arraySecondaryFields.hasMoreElements())
{
strFred = arraySecondaryFields.nextElement();
strWilma = objSecondaryFieldMap.get(strFred);
print("TargetType:" + Object.prototype.toString.call(strFred));
print("SourceType:" + Object.prototype.toString.call(strWilma));
print("Text Type:" + Object.prototype.toString.call("hardcoded value"));
print("First Value:" + objItem.getNewFieldValue(Flinstones[i].substring(1)) );
print("Second Value:" + strWilma );
if (objItem.getNewFieldValue(Flinstones[i].substring(1)) == strWilma)
//if (objItem.getNewFieldValue(Flinstones[i].substring(1)) == "hardcoded value") // WORKS
{
print("It Worked!!!");
}
}
}
}
}
由于