Javascript分配对象方法

Javascript分配对象方法,javascript,Javascript,为什么不支持以这种方式将方法指定给对象属性: neki1: pisaniMethod() 似乎不支持用括号将方法指定给对象属性 function pisaniMethod(){return 'testing';} var person = { neki: pisaniMethod, //this works neki1: pisaniMethod() //this is not working }; 我想我错了: person.neki1(); 我尝试

为什么不支持以这种方式将方法指定给对象属性:

neki1: pisaniMethod() 
似乎不支持用括号将方法指定给对象属性

function pisaniMethod(){return 'testing';}

var person = {        
    neki: pisaniMethod, //this works
    neki1: pisaniMethod()  //this is not working
};
我想我错了:

person.neki1();
我尝试对neki1进行函数调用。

因为当您指定PisanMethod时,您将链接指定给函数。通过这种方式,您可以指定函数调用的结果:在您的案例中进行测试

函数pisaniMethod{返回'testing';}; var person={ neki:pisaniMethod,//这很有效 neki1:PisanMethod//这不起作用 }; alertperson.neki; alertperson.neki1; person.neki的类型; alerttypeof person.neki1; 在第一种情况下,您正在分配方法。在第二种情况下,由于pisaniMethod是一个函数调用,因此您正在分配函数返回的结果,在您的情况下,它将进行测试。

pisaniMethod是一个函数调用。。neki1将进行测试。工作对你意味着什么?它将函数调用的结果分配给neki1。那么,那是错的吗?在方法名称后面放的主要是:现在执行这个方法!因此,在您的情况下,该方法返回的值将分配给neki1,而执行该函数的链接将附加到neki。如果调用pisaniMethod的结果为函数,则可能会重复,您将能够调用该函数。但在neki中,您将得到返回要调用的函数
function pisaniMethod(){return 'testing';};

var person = {        
    neki: pisaniMethod, //this works
    neki1: pisaniMethod()  //this is not working
};