什么是vbscript`In Nothing`的等效javascript

时间:2012-12-07 12:53:10

标签: javascript vbscript

If Not (oResponse.selectSingleNode("BigGroupType") Is Nothing) Then

End If

我需要将其转换为javascript。这足以检查null吗?

这是我的主要回答,请确认一下,

if(typeof $(data).find("BigGroupType").text() !=  "undefined" && $(data).find("BigGroupType").text() != null) {  

}

5 个答案:

答案 0 :(得分:12)

JavaScript有两个值,表示“无”,undefinednullundefinednull具有更强的“无”含义,因为它是每个变量的默认值。除非设置null,否则变量不能为null,但默认情况下变量为undefined

var x;
console.log(x === undefined); // => true

var X = { foo: 'bar' };
console.log(X.baz); // => undefined

如果您想查看某些内容是否为undefined,则应使用===,因为==不足以将其与null区分开来。

var x = null;
console.log(x == undefined); // => true
console.log(x === undefined); // => false

但是,这可能很有用,因为有时您想知道某些内容是undefined 还是 null,因此您可以if (value == null)来测试是否它要么是。

最后,如果要测试变量是否存在于范围中,可以使用typeof。在测试旧版浏览器中可能不存在的内置插件时,这可能很有用,例如JSON

if (typeof JSON == 'undefined') {
    // Either no variable named JSON exists, or it exists and
    // its value is undefined.
}

答案 1 :(得分:2)

您需要同时检查nullundefined,这隐式会这样做

if( oResponse.selectSingleNode("BigGroupType") != null ) {

}

相当于:

var node = oResponse.selectSingleNode("BigGroupType");
if( node !== null &&
    node !== void 0 ) {

}

void 0是获得undefined

的防弹表达方式

答案 2 :(得分:1)

这个逻辑:

If Not (oResponse.selectSingleNode("BigGroupType") Is Nothing)

可以用JavaScript编写:

if (typeof oResponse.selectSingleNode("BigGroupType") != 'undefined')

Nothing等于undefined,但由于多种原因不推荐检查undefined,使用typeof通常更安全。

但是,如果selectSingleNode可以返回其他有价值的值,例如null,那么只需做一个简单的检查就可以了,如果它是真的:

if (oResponse.selectSingleNode("BigGroupType"))

答案 3 :(得分:0)

在JavaScript中等效于Nothing undefined

if(oResponse.selectSingleNode("BigGroupType") != undefined){

}

答案 4 :(得分:0)

JavaScript的: -

(document.getElementById(“BigGroupType”) == undefined) // Returns true

JQuery的: -

($(“#BigGroupType”).val() === “undefined”) // Returns true

在上面的示例中注意,undefined是JavaScript中的关键字,在JQuery中它只是一个字符串。