javascript - 返回对象的比较 - 服务与工厂的简单示例

标签 javascript angularjs object service factory

我有以下示例,显示从工厂和服务获得的结果。据我所知,Factory 总是返回一个对象,而服务总是返回一个对象的实例。这里,两个返回的对象在概念上有什么区别。有人可以澄清一下吗? (特别针对这种情况)

片段:

<html> 
<head> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.min.js"></script> 
</head> 
<body ng-app="myApp" ng-controller="myCtrl"> 
<script>
    //module declaration
    var app = angular.module('myApp',[]);
    //controller declaration
    app.controller('myCtrl', function($scope, myFactory, myService){
        $scope.name = "Peter";
        var a = myService;
        console.log(a);
        var b = myFactory;
        console.log(b);
    });
    //services declaration
    app.service('myService',function(){
        this.age = 15;
    });
    app.factory('myFactory',function(){
        var obj = {};
        obj.country = "USA";
        return obj;
    });
</script> 
</body> 
</html> 

结果:

enter image description here

已读:

AngularJS: Service vs provider vs factory

最佳答案

你对Factory总是返回一个对象,而service总是返回一个对象实例的理解是正确的。为了澄清有关您发布的特定 html 片段的问题,在控制台中您可以看到该服务有一个构造函数,但没有自己的工厂构造函数。

enter image description here

关于javascript - 返回对象的比较 - 服务与工厂的简单示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39705221/

相关文章:

C++ 在 priority_queue 中使用 std::greater() 并排序

ios - 如何在 swift 中为 "ObjectMapper"库创建包装函数

javascript - 如何再次获取表单中的特定行数据进行编辑

javascript - 使用搜索栏在列中过滤具有重复条目的区分大小写的数据并返回该特定行 AngularJS

javascript - 在建议列表中单击滚动条时如何使输入不失去焦点

angularjs - MomentJS 下一个 15 日

angularjs - 如何使用 Angularjs 将依赖项注入(inject)到提供者中?

javascript - 当对象值的条件大于 5 时输出对象键

javascript - 每次点击时更改 Div 类

javascript - 主干和原型(prototype)初始化