为什么不以这种方式支持对象属性的方法:
neki1: pisaniMethod()
似乎在使用括号不支持将对象属性赋值给对象时?
function pisaniMethod(){return 'testing';}
var person = {
neki: pisaniMethod, //this works
neki1: pisaniMethod() //this is not working
};
我想我错了:
person.neki1();
我试图在neki1上进行函数调用。
答案 0 :(得分:3)
因为当您指定pisaniMethod
分配到功能的链接时。以这种方式pisaniMethod()
您可以在您的案例中指定函数调用的结果:"testing"
。
function pisaniMethod(){return 'testing';};
var person = {
neki: pisaniMethod, //this works
neki1: pisaniMethod() //this is not working
};
alert(person.neki);
alert(person.neki1);
alert(typeof person.neki);
alert(typeof person.neki1);

答案 1 :(得分:1)
function pisaniMethod(){return 'testing';};
var person = {
neki: pisaniMethod, //this works
neki1: pisaniMethod() //this is not working
};
在第一种情况下,您要分配方法。在第二种情况下,您要分配由函数重新调整的结果,因为pisaniMethod()
是一个函数调用,在您的情况下它将是testing
。