检查两个变量是否未定义

时间:2013-06-21 12:54:33

标签: javascript

JS:

  var ctoken = req.cookies.user;
  var stoken = req.session.passport.user;

  if(ctoken === 'undefined' || stoken === 'undefined'){
    return res.send('invalid token'); 
  }else{
    if (ctoken.split('_')[0] !== stoken) {
      return res.send('invalid token'); 
    }
  }

目前

ctoken.split('_')[0]

抛出错误:

cannot call split of undefined.

为什么呢?由于if条件,这不应该发生。

1 个答案:

答案 0 :(得分:4)

删除引号:

if (ctoken === undefined || stoken === undefined) {

也许你对一些程序员建议使用

进行测试的趋势感到困惑
if (typeof something === 'undefined') {

但最好的测试是简单地与undefined进行比较。