我正在使用一个简单的代码来检查是否未设置会话变量,然后将页面重定向到另一个页面使用javascript。我的代码是:
var userLogin = "<?php echo $_SESSION['user']['id']; ?>";
if (typeof userLogin == "undefined")
{
$(location).attr('href', 'http://www.example.com/');
}
但这不起作用,因为如果未设置会话,则会分配:
var userLogin = "";
我的问题是:
这两个变量声明之间有什么区别:
var userLogin = "";
和
var userLogin;
最佳答案
区别在于var userLogin
为undefined
分配了一个userLogin
值,而var userLogin = ""
为其分配了一个空字符串。
使用if (!userLogin)
代替if (typeof userLogin == "undefined")
。
编写表达式时
if (x) { ... }
JavaScript认为以下
x
值为false
undefined
,null
,NaN
,0
,""
(空字符串)和false
x
的所有其他值均视为true