var loginEmail = $.trim($("input[name='email']").val());
if (loginEmail == null || loginEmail == '邮箱' || loginEmail == "") {
$(".smtwarning").empty().text("您的邮箱账号忘记输入了");
}
这个代码中loginEmail == null与loginEmail == ""不是一个意思吗??
以下内容均摘自《你不知道的javascript(中卷)》
null 和 undefined 之间的 ==涉及隐式转换,在x=y中,ES5 规范 11.9.3.2-3 规定:
如果 x 为 null, y 为 undefined,则结果为 true。
如果 x 为 undefined, y 为 null,则结果为 true。
在 == 中 null 和 undefined 相等(它们也与其自身相等),除此之外其他值都不存在这种
情况,例如:
null 和 undefined 之间的强制类型转换是安全可靠的,上例中除 null 和 undefined 以外的
其他值均无法得到假阳( false positive)结果。个人认为通过这种方式将 null 和 undefined
作为等价值来处理比较好。
例如:
条件判断 a == null 仅在 doSomething() 返回非 null 和 undefined 时才成立,除此之外其
他值都不成立,包括 0、 false 和 "" 这样的假值。