是否可以在javascript中对对象文本定义函数属性?
我有下面的代码,我希望在对象文本(actions)中直接定义函数(first)的属性(server)是否可以在javascript中对对象文本定义函数属性?,javascript,Javascript,我有下面的代码,我希望在对象文本(actions)中直接定义函数(first)的属性(server) 在有疑问时使用函数,或在需要变量的任何时候使用复杂结构: var actions = { first: (function(){ function first(){ console.log("First") }; first.server="server_1"; return
在有疑问时使用函数,或在需要变量的任何时候使用复杂结构:
var actions = {
first: (function(){
function first(){
console.log("First")
};
first.server="server_1";
return first;
}()),
second: function(){
console.log("Second")
}
};
函数装饰器
将函数作为上下文传递给类/装饰器,或者故意添加属性:
function FunctionDecorator(server) { this.server = server; return this; }
var object = {
first: FunctionDecorator.call(function first() {}, 'server_1')
};
--或--
但是,我想说,您可以在一些OOP上做更多的工作,因为这有点麻烦,除非您想要可调用的对象(使用decorator方法)。例如,AngularJS有一个$http
模块,可以像$http({…})
或$http.get(…)
那样使用,这是因为它是一个修饰函数
干杯我认为这是可能的。检查这个。。
function FunctionDecorator(server) { this.server = server; return this; }
var object = {
first: FunctionDecorator.call(function first() {}, 'server_1')
};
var object = {
first: function first() { first.server = first.server || getServer(); }
};