创建对象和比较字段时出现Javascript错误

Javascript error when create object and comparing fields

本文关键字:Javascript 错误 比较 字段 创建对象      更新时间:2023-09-26

我创建了一个用数据填充的javascript对象,当我将该对象返回到另一个类并对该对象运行isError函数时,我总是得到true,我不知道为什么。

这是我创建的新对象:

function WSResponse()
{
  this.error = new Object();
  this.isError = function()
  {
    if (this.error.status === '0')
    {
      return false;
    }
    else
    {
      return true;
    }
  }
}

这是我的服务:

...Some code.. 
var wsresponse = new WSResponse();
wsresponse.data = responseFromServer.ws_result;
wsresponse.error.status='0';
wsresponse.error.msg = responseFromServer.msg;
return wsresponse;

这是我的控制器:

if (response.isError)
{               
    $scope.isLoginError = true;
}
else
{
    $scope.isLoginError = false;    
}

由于某种原因,我总是得到true,当我调试时,我可以看到值是0或-1(字符串)
问题出在哪里?

感谢

isError是一个函数,因此您需要像函数一样调用它,即response.isError()

if(response.isError)将始终返回true,因为您正在有效地检查是否有isError对象(在本例中为函数)附加到响应对象。

if (response.isError())
{               
    $scope.isLoginError = true;
}
else
{
    $scope.isLoginError = false;    
}