if语句条件检查!= "undefined"失败
If-statement condition checking on != "undefined" fails
我试图为谷歌地图信息窗口生成一些HTML内容。我有7个值,如果它们不等于null, undefined或"(空字符串),应该显示。
但显然我的if(e.Property != null || e.Property != "undefined" || e.Property == "")
不工作时,Property
是undefined
。大多数情况下,e.Email
是未定义的。因此,我的代码仍然插入html + "<br />
部分,而不是跳过这一部分。当我alert()
e.Email时,它返回undefined
,如果是这种情况,它应该捕获并跳过。
我试着写if(typeof e.Property != null || typeof e.Property != "undefined" || typeof e.Property == "")
,但没有什么不同。
// 'e ' is JSON object
var generateHTML = {
init: function(e) {
if (e != null || e != "undefined"){
generateHTML.check(e);
}
},
check: function (e) {
if(e.Title != null || e.Title != "undefined" || e.Title == ""){
html = html + "<b>"+e.Title+"</b>";
}
if(e.Address != null || e.Address != "undefined" || e.Address == ""){
html = html +"<br />"+ e.Address;
}
if(e.Zipcode != null || e.Zipcode != "undefined" || e.Zipcode == ""){
html = html +"<br />"+ e.Zipcode+", ";
}
if(e.City != null || e.City != "undefined" || e.City == ""){
html = html + e.City;
}
if(e.Phone != null || e.Phone != "undefined" || e.Phone == ""){
html = html +"<br />"+ e.Phone;
}
if(e.Email != null || e.Email != "undefined" || e.Email == ""){
html = html +"<br />"+ e.Email;
}
if(e.WebAddress != null || e.WebAddress != "undefined" || e.WebAddress == ""){
html = html +"<br />"+ e.WebAddress;
}
return html;
}
};
您想要检查!== undefined
。
if(myvar !== undefined) {
//DO SOMETHING
}
如果你想要一个更简洁的版本,你可以使用:
if (e.Title) {
// add to HTML
}
if (e.Address) {
// add to HTML
}
你可能想要考虑将你的HTML构建为一个数组,然后在最后连接以避免创建许多字符串,例如
var html = [];
html.push("FirstName");
html.push("<br />");
html.push("LastName");
html.push("<br />");
html.push("Number");
var output = html.join(""); // "FirstName<br />LastName<br />Number"
if(e) //this would be shorter
if(e != undefined)
//
if(typeof(e) != 'undefined')
undefined
是一个变量名,不是字符串。
不需要加引号
如果它的值是字符串"undefined"
删除"
最好通过e.length检查,因为JavaScript中变量类型不准确
我也会使用length函数,如果数组或对象为空,则日志长度将为0.0,即
if(e.length == 0){
//then do something or nothing
}
else {
//Do somthing
}
相关文章:
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 铬:“;未捕获的语法错误:意外的标记:"
- /undefined在我的404错误日志中多次出现
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- RequireJS向模块传递配置总是返回undefined
- JSON数组数据返回Undefined
- 使用“+="操作人员
- TypeError:undefined不是一个对象(正在评估'msg.innerHTML="Uploa
- 神秘的"undefined不是函数”;
- 为什么"undefined为null或不是对象”;
- 在JSON中POST一个js::数组,得到"undefined:undefined”;
- new Parse.View and get"TypeError:undefined不是函数;
- 使用“webmethod”调用c#方法返回“undefined"
- 为什么“typeof false || undefined”返回"布尔值”;
- js未捕获类型错误:Cannot set property 'zIndex'undefined"
- 无法读取undefined"的属性0;在webgl应用中
- .wait()"undefined不是函数"
- document.log():"undefined不是函数”;