我有这个if - else语句:
if (typeof (answers.QUEST122) === 'undefined') {
answers.QUEST122 = '00';
}
else {
$scope.answers.QUEST122 = answers.QUEST122.substr(answers.QUEST122.length - 2);
}
由于某种原因,当值未定义,并且answers.QUEST122设置为' 00'时,也会执行else语句,尽管没有理由将其执行,因为价值未定义。
你们在这个if-else声明中看到了什么问题吗?
提前致谢,Laziale
答案 0 :(得分:0)
它按预期工作
var answers = {
"QUEST122": undefined
};
if (typeof answers.QUEST122 === 'undefined') {
answers.QUEST122 = '00';
} else {
console.log('hi');
}
// => "00"
将其粘贴到浏览器的控制台中,您将看到它永远不会运行else块。我认为你的问题源于其他问题。看到你正在使用Angular,我会检查你的逻辑,看看是否在其他地方设置了$ scope.QUEST112。
答案 1 :(得分:0)
这里效果很好,所以尝试使用这样的
typeof (answers.QUEST122) == 'undefined' ? answers.QUEST122 = '00' : $scope.answers.QUEST122 = answers.QUEST122.substr(answers.QUEST122.length - 2);
答案 2 :(得分:0)
我猜你必须查看对象值(CHECK THE)。if-else语句没有错。