Check IF条件返回false,但IF中的语句仍然可以在JavaScript中工作
Check IF condition return false but the statement inside IF still work in JavaScript
我有一个JavaScript,可以检查Object是否存在,如下所示,在.hamlc:中
假设@object1在这里不存在。
var property01;
// work as expected
if (!#{@object1}) {
console.log("not exist"); // print
} else {
console.log("exist");
}
这正如预期的那样工作,并在控制台中显示文本"不存在",但有一种情况是,如果对象1确实存在,所以我想添加:
var property01;
if (!#{@object1}) { // should execute here and end the condition but not
console.log("not exist"); // not print
property01 = 'undefined';
} else {
console.log("exist"); // not print as well
property01 = '#{@object1.property01}'; // Delete this line will work normally but not what it should be.
}
上面给我返回了一个错误,说"无法读取未定义的属性‘property01’。
我这样做的原因是另一个应用了这个的页面可能在这里传递了@object1,所以这取决于应用的页面,但我只想让它工作,无论对象"@object1"是否存在。
我知道当前@object1是未定义的,因为它没有被传递。所以它应该只分配IF语句中声明的并且不涉及ELSE的"undefined"。这个有什么问题吗??
如果存在@object1
,则分配给该property01
,否则分配给undefined
var property01;
property01 = (!#{@object1}) ? '#{@object1.property01} : undefined
我认为您不小心将property01设置为字符串"undefined"。如果你想让你的脚本保持原样,只需删除第3行的引号:
if (!#{@object1}) {
console.log("not exist");
property01 = undefined;
} else {
console.log("exist");
property01 = '#{@object1.property01}';
}
相关文章:
- 正在尝试使用if和else添加类,但无法正常工作
- jquery onclick if..否则如果..否则无法正常工作
- if 子句在 JavaScript 中限定工作流
- 此 JavaScript 代码无法正常工作(if-else 语句)
- JqueryUI,多个ID和else if 语句在可丢弃,我如何让它们工作
- 用于检查文件扩展名不工作的Javascript If语句
- 当if条件被添加到循环中时,Javascript函数将停止工作
- 为什么更改范围获胜'不能在ng if内部工作,而是通过函数调用AngularJS
- else-if子句未按预期工作
- 为什么不'我的if/else语句不能正常工作
- 可以't使if-else-jquery语句工作
- for循环,if else不工作Javascript
- Check IF条件返回false,但IF中的语句仍然可以在JavaScript中工作
- Javascript/JQuery嵌套if语句工作不正常
- Javascript if/else工作不正常[Time Formatting AM/PM]
- 为什么我的 IF 无法正常工作
- if.else 在 IIFy 中工作,但不在事件侦听器中工作
- 带有 if-else 的功能无法正常工作
- KnockoutJS “if: ” 绑定无法正常工作
- if 和 else-if 语句拒绝在 jQuery 的 AJAX 函数中工作