Javascript函数返回undefined

时间:2016-09-14 08:12:35

标签: javascript angularjs

我收到错误。我的Javascript函数返回undefined,同时在函数内警告正确。 在我的第一个控制器上,我这样打电话。

 CustomerService.setName(data.name);

在像这样的服务页面上

service.setName = function(name){ 
  var user = name; 
   alert(user); 
  return user;
}

我正在我的第二个控制器上访问此返回值。

$scope.name = CustomerService.setName(name);

* CustomerService是服务名称。

4 个答案:

答案 0 :(得分:1)

考虑使用get / set

在您的服务中,您可以

app.service("CustomerService", function() {  

    var service = {}; 
    service.setName = function(name){ 
        user = name; 
        // optional return if you feel the need to
    }
    service.getName = function(){
        return user;
    }
    return service;
})

您当前的service.setName不会保留name因为它存储在本地变量中。

希望这有帮助

答案 1 :(得分:0)

即使函数需要,下面也没有给出参数。

$scope.name = CustomerService.setName();

答案 2 :(得分:0)

使用" var"创建变量创建一个局部变量,所以当你再次调用该函数时,该值就不存在了。只有当您使用该函数提供参数时,它才会起作用。

答案 3 :(得分:0)

您没有为此函数service.setName()提供任何参数。因此name设置为undefined,这会导致函数返回undefined。