【问题标题】:How to 'null' check in javascript(node-webkit)?如何在javascript(node-webkit)中“空”检查?
【发布时间】:2016-04-24 11:17:50
【问题描述】:

我正在开发用于将源代码与 node-webkit 进行比较的窗口应用程序,我想检查 null 函数。

我的代码是

function click1() {
      if(swap == true)
        var lines1 = $('textarea1').val().split('\n'); //compare1
        var lines2 = $('textarea2').val().split('\n'); //compare2

        if (lines1.length == lines2.length) {
             for (var i=0;i<lines1.length;i++) {
                 if(lines1[i] == lines2[i]) {
                      var keys = lines1[i].match(/\b[\w\d]*/g);
                      if(keys[0] == null) { //**problem line**
                          alert('This line is null');
                      } else {
                          alert(keys[0]);
                      }
                 }
             }

如果我执行这个点击事件,就会发生错误。

未捕获的类型错误:无法读取 null 的属性“0”

我该如何解决这个问题..

帮帮我

ps。我试过keys[0] === nulltypeof keys[0] == 'null'!keys[0]等等……

【问题讨论】:

    标签: javascript html node-webkit


    【解决方案1】:

    就用这个吧:

    if(keys[0]) {
      alert(keys[0]);
    } else {
      alert('This line is null');
    }
    

    【讨论】:

    • .match 可能会返回 nullnull[0] 会抛出该错误。你也必须提防这种情况。
    • 我相信键不是数组。删除“[0]”。
    • 哦,谢谢 Dr.Stitch!由于您的解决方案,我解决了问题。但如果 key 不为 null,则 keys[0] 有效
    • 太棒了!很高兴能帮助你。 :)
    【解决方案2】:

    它不是keys[0] 那是空的。它的keys。查看错误,它无法读取null 的属性0,这意味着它无法读取空变量keys0 属性。您的正则表达式不匹配任何内容,因此它返回 null

    解决方案:

    if (keys &amp;&amp; keys[0])

    【讨论】:

    • 感谢您的建议。我理解键不是数组,但是如果键不为空,则键 [0] 存在。为什么存在 [0]?
    • 我想我理解你的问题。对于答案,我会将您指向此链接herematch 将返回一个数组如果找到匹配项null 如果没有找到匹配项。最好先了解该方法的工作原理,然后再为之苦恼。
    【解决方案3】:

    array[index] 为 null 或未定义。

    if (keys[0] == 'undefined' || keys[0] == null) {
       alert('This line is null');
    } else {
       alert(keys[0]);
    }
    

    array[index] 为 null 且未定义。

    if (keys[0] == 'undefined' && keys[0] == null) {
       alert('This line is null');
    } else {
       alert(keys[0]);
    }
    

    【讨论】:

    • 感谢 Jakir 的建议!
    【解决方案4】:

    试试这个:

    if(!keys || keys.length === 0) { //**problem line**
      alert('This line is null');
    }else {
      alert(keys[0]);
    }
    

    【讨论】:

    • 感谢您的建议 saikumar!
    猜你喜欢
    • 2020-11-12
    • 2016-03-30
    • 2015-07-14
    • 1970-01-01
    • 2021-12-18
    • 2015-01-25
    • 2015-10-03
    • 2015-01-11
    • 1970-01-01
    相关资源
    最近更新 更多