2010-07-19 65 views
0

我在JS创建此工具方法的对象:检查BOOL正在检查,而不是

function IsAuthenticated(userID) 
{ 
    var isAuthed = false; 

    if (userID.length == 0) 
     return false; 

    // more logic 
    if(SomeLogic) 
     isAuthed = true; 

    return isAuthed; 
} 

当我运行这样的事情,我发现了一个对象返回,而不是bool类型:

if(IsAuthenticated) 
    //code here 

我想我需要将它投射到布尔?

+0

抱歉张贴错误我有回报。 – PositiveGuy 2010-07-19 20:47:42

+0

您需要开始发布真实的代码,而不是浪费人们的时间。删除我的答案,而不是回到这个问题。祝你好运。 – 2010-07-19 21:52:06

+0

我不喜欢他们的鼻子在空中开发。让我们这样说吧。 – PositiveGuy 2010-07-19 22:59:59

回答

6

IsAuthenticated引用名称为“IsAuthenticated”且不是函数调用的函数。如果使用typeof操作上IsAuthenticated你会得到"function"

alert(typeof IsAuthenticated); 

那么试试这个来代替:

var userID = /* … */; 
if (IsAuthenticated(userID)) { 
    //code here 
} 
+0

ok,因此您无法首先将某个方法的返回值先设置为var?我不想将全部功能放入if语句中,这很冒险。 (没有任何反对你) – PositiveGuy 2010-07-19 21:35:07

+0

其实我已经试过了,无论如何 – PositiveGuy 2010-07-19 21:35:25

+0

这两个都没关系。我应该能够将该函数调用设置为var。无论哪种方式,无论什么时候我都会犯错。我知道它正在进入SomeLogic设置true,但最终由于某种原因返回false,尽管它在IsAuthenticated方法中将其设置为true。 – PositiveGuy 2010-07-19 21:37:27

0

我想你需要:

return isAuthed; 
1

尝试return isAuthed,而不是仅仅isAuthed