以下是有效的JS代码吗?
response.continueRequest = (response.continueRequest == undefined) ? false : response.continueRequest;
响应实际上是一个AJAX响应对象。
答案 0 :(得分:1)
是的,这意味着
if (response.continueRequest == undefined){
response.continueRequest = false;
}else{
response.continueRequest = response.continueRequest;
}
答案 1 :(得分:1)
是的,它是一个有效的JavaScript代码。它也可以缩短:
response.continueRequest = response.continueRequest ? response.continueRequest : false;
JavaScript中的类型强制将response.continueRequest
转换为布尔值,如果为真,则会分配response.continueRequest
的实际值,否则会分配false
。
这样做更合乎逻辑,尽管你最初可以在你的例子中这样做:
response.continueRequest = !response.continueRequest ? false : response.continueRequest;
然而,如果你真的需要这样做,那么这行代码会提示你代码中的其他内容并不是很好解决。
编辑:
您可以在条件中使用response.continueRequest
:
if (response.continueRequest) {
// condition body
}
如果response.continueRequest
为undefined
,则为false
类型为强制,且不会输入if子句。我想,这样的事情就是你的目标。
请记住,undefined
与未定义的不同。例如:
var something;
console.log(something); // undefined
console.log(nothing); // Uncaught ReferenceError: nothing is not defined
答案 2 :(得分:0)
使用'==='运算符
response.continueRequest = (response.continueRequest === undefined) ? false : response.continueRequest;