javascript如何创建函数服务(构造函数)

时间:2016-09-07 11:37:47

标签: javascript angularjs

如果你调用服务方法,在AngularJs中

app.service('nameService', function(){
this.Service = function (){console.log('hello')}
}

然后你可以使用这个服务(对象): nameService.Service() 所以我的问题是如何编写具有两个参数(名称,函数)的函数

function service ( name, function ){
// how angular declare object with that value of first argument ? 
}

我问如何写函数如service(name,fn){}?

2 个答案:

答案 0 :(得分:1)

您可以使用括号表示法来获取参数值。

功能服务(名称,fn){

    var createService = function(){
        return new fn()
    }

    this[arguments[0]] = func()
}

service('nameService',function(){
    //here you can use 'this' because it's function constructor

    this.getLog = function (){
        console.log('hello')
    }

})


//and you can user it like you  want nameService.getLog() 
//Console: hello

答案 1 :(得分:1)

AngularJs使用Dependency Injection注入服务。

“service”方法在角度对象上可用,因为在他的Prototype上。

angular.prototype.service = ...

您可以阅读有关原型继承的更多信息,MDN - Inheritance and the prototype chain