![](/img/trans.png)
[英]Is it possible to define a dynamically named property using object literal in JavaScript?
[英]Is it possible to define a function property on an object literal in javascript?
我有以下代码,并且我希望直接在对象文字( 操作 )中定义函数( 第一个 )的属性( 服务器 )。
var actions = {
first: function(){
console.log("First")
},
second: function(){
console.log("Second")
},
};
actions.first.server = "server_1";
在有疑问时或在任何需要使用变量的复杂结构时使用函数:
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')
};
- 要么 -
var object = {
first: function first() { first.server = first.server || getServer(); }
};
但是,我想说您可以在某些OOP上做更多的工作,因为除非您想要可调用的对象(使用decorator方法),否则这有些笨拙。 例如,AngularJS有一个$http
模块,可以像$http({...})
或$http.get(...)
-这是因为它具有修饰功能。
干杯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.