请问如何把object的method正常传递给function?如下:letJK={firstName:"John",lastName:"Kennedy",fullName:function(){returnthis.firstName+this.lastName;}}functiongetFullName({fistName,lastName,fullName}){console.log(fullName());}getFullName(JK);consoleresult是NaN当然,可以不用解构直接pass个object给function可以调用到fullName()这个method。正确该怎么做呢?
2 回答
人到中年有点甜
TA贡献1895条经验 获得超7个赞
首先,你的getFullName里面的firstName拼错了。其次,这个解构没有问题,问题的根源在于this。解决办法:returnthis.firstName+this.lastName;替换成returnJK.firstName+JK.lastName;
天涯尽头无女友
TA贡献1831条经验 获得超9个赞
其实这个是this指针的问题,像你这样写呢,执行fullName()时,this指向window。而this.firstName和this.lastName都是undefined,相加的时候当然返回NaN.可以改成这样:functiongetFullName(person){const{firstName,lastName,fullName}=person;console.log(person.fullName());}
添加回答
举报
0/150
提交
取消