NodeJS / JavaScript if语句不工作
NodeJS / JavaScript if statement not working
NodeJS(最新).
我有下面的代码。为什么第一个IF语句没有按预期工作?控件不进入第一个IF语句。
我看到了下面代码中第一行的有效console.log输出,并期望第一个IF语句也应该执行它的代码。但事实并非如此;第二个IF语句生效
console.log("-- inside create IP() qData['osType'] is set to :: " + qData['osType'])
//--
if ( qData['osType'] == 'undefined' ) {
console.log("1 -- setting qData['osType'] = Linux by default for now. This should happen automatically.")
qData['osType'] = 'Linux'
console.log("1 -- inside create IP() if-statement-qData['osType'] and qData['osType'] is set to :: "+qData['osType'])
}
if ( typeof qData['osType'] == 'undefined' ) {
console.log("2 -- setting qData['osType'] = Linux by default for now. This should happen automatically.")
qData['osType'] = 'Linux'
console.log("2 -- inside create IP() if-statement-qData['osType'] and qData['osType'] is set to :: "+qData['osType'])
}
qData['osType'] = 'Linux'
//--
如果你正在检查未定义,你可以使用以下方法之一:
-
typeof foo === 'undefined'
-
foo === undefined
-
foo === void 0
其他任何内容实际上都不是(严格地)检查未定义的值(包括将值直接与字符串'undefined'
进行比较)。
在您的第一个if语句中,qData['osType']
计算为undefined
,但您的比较正在检查undefined == "undefined"
是否。字符串字面值有一个值,因此不等于undefined
。
在第二个if语句中,typeof qData['osType']
求值为字符串"undefined"
,因此表达式求值为true
,并执行代码块。
我想qData['osType'] == 'undefined'
必须重写为qData['osType'] == undefined
我更喜欢检查
if(!qData.osType)
相关文章:
- 此 JavaScript 代码无法正常工作(if-else 语句)
- JqueryUI,多个ID和else if 语句在可丢弃,我如何让它们工作
- 用于检查文件扩展名不工作的Javascript If语句
- 为什么不'我的if/else语句不能正常工作
- 为什么我的 javascript else 语句停止工作
- 不了解这种返回语句是如何工作的
- 可以't使if-else-jquery语句工作
- Check IF条件返回false,但IF中的语句仍然可以在JavaScript中工作
- Javascript/JQuery嵌套if语句工作不正常
- 对于语句未按预期工作
- 如果语句按预期工作,为什么这不行
- 如果,否则如果语句无法正常工作
- 如何在 JavaScript 中工作,如果不在控制语句中
- if 和 else-if 语句拒绝在 jQuery 的 AJAX 函数中工作
- 这个 if 语句如何工作和意味着?(Javascript)
- ELSE/IF 语句无法正常工作
- 如果语句不能在 Javascript 单选按钮上正常工作
- Cookie if 语句无法正常工作
- 延迟语句(如 promise() 和 done())如何工作
- 如果语句在控制台中工作,而不是在源代码中工作