Javascript 检查变量是否存在。[奇怪]
我这里有个奇怪的问题 我试图检查变量是否存在 我有Javascript 检查变量是否存在。[奇怪],javascript,Javascript,我这里有个奇怪的问题 我试图检查变量是否存在 我有 for(var i=0; i<6; i++{ if(results[(i+1)].test){ results[(i+1)].test=i + 'test'; } } 我想if(results[(I+1)].test)会为我检查变量是否存在 我也试过了 if(typeof results[(i+1)].test !='undefined'){ results[(i+1)].test=i + 'test' } 但还是有
for(var i=0; i<6; i++{
if(results[(i+1)].test){
results[(i+1)].test=i + 'test';
}
}
我想if(results[(I+1)].test)
会为我检查变量是否存在
我也试过了
if(typeof results[(i+1)].test !='undefined'){
results[(i+1)].test=i + 'test'
}
但还是有错误。我该如何解决这个问题
非常感谢 您正在检查foo.test是否未定义,但问题是foo本身(在本例中为
results[i+1]
)未定义
你需要先检查一下,例如:
if (typeof results[i+1] != "undefined") {
// do stuff with results[i+1].test, or results[i+1].whatever
}
您正在检查foo.test是否未定义,但问题是foo本身(在本例中为
results[i+1]
)未定义
你需要先检查一下,例如:
if (typeof results[i+1] != "undefined") {
// do stuff with results[i+1].test, or results[i+1].whatever
}
您需要将结果(6)指定为对象,然后才能检查.test是否存在。正如您所说,results(6)未定义,这意味着当您尝试调用results(6)时。test将得到您描述的错误。您需要将results(6)指定为对象,然后才能检查.test是否存在。正如您所说,结果(6)未定义,这意味着当您尝试调用结果(6)时。测试将得到您描述的错误。您没有检查结果数组的内容 您应该这样做:
if(typeof results[(i+1)] !== 'undefined'){
results[(i+1)].test=i + 'test'
}
您没有检查结果数组的内容 您应该这样做:
if(typeof results[(i+1)] !== 'undefined'){
results[(i+1)].test=i + 'test'
}
是否定义了结果[(i+1)]
if(results[(i+1)] && results[(i+1)].test){
results[(i+1)].test=i + 'test';
}
是否定义了结果[(i+1)]
if(results[(i+1)] && results[(i+1)].test){
results[(i+1)].test=i + 'test';
}
好啊我得到了它。我只是想证明我现在需要休息一下。谢谢大家!可能问题在于迭代器实际上并没有在数组中迭代:它从0迭代到6ok。我得到了它。我只是想证明我现在需要休息一下。谢谢大家!可能问题在于迭代器实际上并没有在数组中进行迭代:它从0到6进行迭代。请注意,您可以在相同的if、
if(results[i+1]&&results[i+1].test)中检查测试。
请注意,您可以在相同的if、if(results[i+1]&&results[i+1].test)中检查测试。