我正在使用一个简单的代码来检查是否未设置会话变量,然后将页面重定向到另一个页面使用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 userLoginundefined分配了一个userLogin值,而var userLogin = ""为其分配了一个空字符串。

使用if (!userLogin)代替if (typeof userLogin == "undefined")



编写表达式时

if (x) { ... }


JavaScript认为以下x值为false

undefinednullNaN0""(空字符串)和false

x的所有其他值均视为true

09-25 20:32