Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么AngularJS服务只能返回对象,而factory可以同时返回原语和对象?_Javascript_Angularjs_Angular Services - Fatal编程技术网

Javascript 为什么AngularJS服务只能返回对象,而factory可以同时返回原语和对象?

Javascript 为什么AngularJS服务只能返回对象,而factory可以同时返回原语和对象?,javascript,angularjs,angular-services,Javascript,Angularjs,Angular Services,Factory可以返回基本体和对象。那么,使用服务返回对象(类型友好注入)的原因是什么 原因是商品。如果有构造函数,可以将其传递给service(),而不必创建一个工厂来调用构造函数并返回创建的对象 顺便说一句,factory()是另一种避免使用返回服务的$get()函数创建提供者的商品。它只会缩短代码。您将要(或已经做过!)注意的是,工厂实际上几乎是通用的,可以轻松地完成与常量,服务。。。确实如此。@bardzusny它可以代替价值和服务,但不能代替常量。常量在配置阶段可用。工厂创建的服务不可

Factory可以返回基本体和对象。那么,使用服务返回对象(类型友好注入)的原因是什么


原因是商品。如果有构造函数,可以将其传递给
service()
,而不必创建一个工厂来调用构造函数并返回创建的对象


顺便说一句,
factory()
是另一种避免使用返回服务的
$get()
函数创建提供者的商品。它只会缩短代码。

您将要(或已经做过!)注意的是,
工厂
实际上几乎是通用的,可以轻松地完成与
常量
服务
。。。确实如此。@bardzusny它可以代替价值和服务,但不能代替常量。常量在配置阶段可用。工厂创建的服务不可用。
// factory
app.factory('factoryService',function(){
  var returnObj = function() {
  };

  return new returnObj(); 
})

// service
app.service('service',function(){
  return this;
});