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