각 js 당 docs각도 Js 서비스가 함수/객체를 반환합니까?
서비스 (이름, 생성자); name : name 생성자 : 인스턴스화 될 주입 가능한 클래스 (생성자 함수)입니다.
Internally :
{
$get: function() {
return $injector.instantiate(constructor);
}
}
이 얻을 $을 통해 $ 인젝터 및 반환을 통해 인스턴스 를 생성 서비스는 생성자와 제공자로 전달 된 2 인자를 처리하는 각 문서에서 결론을 내릴 수 있었다. 따라서 우리 모듈 함수 (컨트롤러, 지시어 등)에 서비스를 삽입 할 때마다 새로 생성 된 객체 인 Singleton 을 반환해야합니다.
이러한 방식으로 서비스를 정의하면 여기에 문제가 발생합니다.
1. _app_user_content.service("MyService" , function(){
this.Message = "Greetings!";
}); //returns object when injected.
2. _app_user_content.service("MyService" , function(){
this.Message = "Greetings!";
return "123"
}); // returns object when injected.
3. _app_user_content.service("MyService" , function(){
this.Message = "Greetings!";
return function(){}
}); //returns function(){} when injected. Doesnot return object
왜 세 번째 사례가 함수를 반환합니까?
귀하의 답변은 javascript 구문의 기본을 올바르게 가리 킵니다. 더 자세히 조사해 보면 함수가 자바 스크립트 프리미티브를 반환하면 새로 만든 객체를 반환한다고 결론 내릴 수 있습니다. 그러나 return 문에 기본 유형 이외의 다른 유형이 포함되어 있으면 return 문을 지정하고 객체를 생성하지 않습니다. – ajaykumar