我正在开发用于比较源代码和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]);
}
}
}
如果我执行此点击事件,则会发生错误。
未捕获的TypeError:无法读取null
的属性“0”我如何解决这个问题..
帮帮我
PS。我尝试了keys[0] === null
,typeof keys[0] == 'null'
,!keys[0]
等...
答案 0 :(得分:1)
只需使用:
if(keys[0]) {
alert(keys[0]);
} else {
alert('This line is null');
}
答案 1 :(得分:0)
它不是keys[0]
空的。它的keys
。查看错误,它无法读取0
的属性null
,这意味着它无法读取空变量0
的{{1}}属性。您的正则表达式不匹配任何内容,因此返回keys
。
解决方案:
null
答案 2 :(得分:0)
array [index]为null或undefined。
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]);
}
答案 3 :(得分:0)
试试这个:
if(!keys || keys.length === 0) { //**problem line**
alert('This line is null');
}else {
alert(keys[0]);
}