0

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

4

1 回答 1

4

删除引号:

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

也许您对一些程序员建议使用测试的趋势感到困惑

if (typeof something === 'undefined') {

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

于 2013-06-21T12:55:35.540 回答