Javascript分配对象方法

时间:2017-04-15 07:37:30

标签: javascript

为什么不以这种方式支持对象属性的方法:

neki1: pisaniMethod() 

似乎在使用括号不支持将对象属性赋值给对象时?

function pisaniMethod(){return 'testing';}

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

我想我错了:

person.neki1();

我试图在neki1上进行函数调用。

2 个答案:

答案 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