Javascript 如何检查';未定义';AJAX查询中的变量?

Javascript 如何检查';未定义';AJAX查询中的变量?,javascript,ajax,undefined,Javascript,Ajax,Undefined,如果JavaScript中未定义变量,最合适的测试方法是什么 $.ajax({ type: method, url: url, success: function (data) { if (form != null || form != undefined){ data = $(form).serialize(); } var json = JSON.parse(data),

如果JavaScript中未定义变量,最合适的测试方法是什么

$.ajax({
    type: method,
    url: url,
    success: function (data) {
        if (form != null || form != undefined){
            data = $(form).serialize();
        }
        var json =  JSON.parse(data),
            list = $(table).html(),
            compileTemplate = Handlebars.compile(list),
            result = compileTemplate(json),
            content = doc.getElementById(element);
        content.innerHTML = result;
    },
    dataType: "text"
});

我正在寻找一种更漂亮的检查方法。

首先检查它是否未定义,然后再检查值,这样它就不会抛出错误。它还需要AND(&&)而不是OR(| |)

官方的方法是检查类型

将“如果”语句更改为:

if (typeof(form) !== "undefined" && form != null) {

您可以简单地测试
表单!=空
如果
表单
既不是
也不是
未定义
,则为空

$.ajax({
    type: method,
    url: url,
    success: function (data) {
        if (form != null){
            data = $(form).serialize();
        }
        var json =  JSON.parse(data),
            list = $(table).html(),
            compileTemplate = Handlebars.compile(list),
            result = compileTemplate(json),
            content = doc.getElementById(element);
        content.innerHTML = result;
    },
    dataType: "text"
});

if(form)
应该检查变量是否存在并且是否已定义(但我确信存在大量可能会中断的边缘情况),以测试变量是否未定义:
if(typeof form==“undefined”)
在这种情况下可能重复的,如果没有变量“form”,我无法使用此方法。@cxFaust不太清楚您的意思。如果我可以使用此代码,我会在使用此方法之前检查变量。但是我使用的代码带有一个变量“form”,而没有。如果(form!=null){不是null或未定义,测试将解析序列化的表单数据。这不是您想要的吗?