Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.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中对对象文本定义函数属性?_Javascript - Fatal编程技术网

是否可以在javascript中对对象文本定义函数属性?

是否可以在javascript中对对象文本定义函数属性?,javascript,Javascript,我有下面的代码,我希望在对象文本(actions)中直接定义函数(first)的属性(server) 在有疑问时使用函数,或在需要变量的任何时候使用复杂结构: var actions = { first: (function(){ function first(){ console.log("First") }; first.server="server_1"; return

我有下面的代码,我希望在对象文本(actions)中直接定义函数(first)的属性(server)


在有疑问时使用函数,或在需要变量的任何时候使用复杂结构:

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(); }
};