如何';空';签入javascript(节点webkit)?
我正在开发一个窗口应用程序,用于将源代码与NodeWebKit进行比较,我想检查null函数 我的代码是如何';空';签入javascript(节点webkit)?,javascript,html,node-webkit,Javascript,Html,Node Webkit,我正在开发一个窗口应用程序,用于将源代码与NodeWebKit进行比较,我想检查null函数 我的代码是 function click1() { if(swap == true) var lines1 = $('textarea1').val().split('\n'); //compare1 var lines2 = $('textarea2').val().split('\n'); //compare2 if (lines1.le
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]);
}
}
}
功能点击1(){
if(swap==true)
var lines1=$('textarea1').val().split('\n');//compare1
var lines2=$('textarea2').val().split('\n');//compare2
if(lines1.length==lines2.length){
对于(var i=0;i只需使用以下内容:
if(keys[0]) {
alert(keys[0]);
} else {
alert('This line is null');
}
它的keys[0]
不是空的。它的keys
。看看错误,它不能读取null的0
属性,这意味着它不能读取null变量keys
的0
属性。正则表达式与任何内容都不匹配,因此它返回null
解决方案:
如果(键和键[0])
数组[index]为空或未定义
if (keys[0] == 'undefined' || keys[0] == null) {
alert('This line is null');
} else {
alert(keys[0]);
}
if (keys[0] == 'undefined' && keys[0] == null) {
alert('This line is null');
} else {
alert(keys[0]);
}
数组[index]为空且未定义
if (keys[0] == 'undefined' || keys[0] == null) {
alert('This line is null');
} else {
alert(keys[0]);
}
if (keys[0] == 'undefined' && keys[0] == null) {
alert('This line is null');
} else {
alert(keys[0]);
}
试试这个:
if(!keys || keys.length === 0) { //**problem line**
alert('This line is null');
}else {
alert(keys[0]);
}
.match
可能返回null
,null[0]
将抛出该错误。您也必须防止这种情况。我相信键不是数组。请删除“[0]”。噢,谢谢Stitch博士!!多亏了您的解决方案,我才解决了这个问题。但如果键不是null,则键[0]可以正常工作。很高兴提供帮助。)多亏了你的帮助。我理解键不是数组,但如果键不是空的,那么键[0]就存在。为什么存在[0]?我想我理解你的问题。为了得到答案,我将向你指出这个链接。match
将在找到匹配项时返回一个数组,如果没有找到匹配项时返回null
。最好在你为之苦恼之前了解该方法的工作原理。感谢你的adivice saikumar!感谢Jakir的建议!