首页 > 为什么对象的属性对应的函数必须是匿名函数呢?

为什么对象的属性对应的函数必须是匿名函数呢?

zz.b();就可以获取到值,zz.c()就会报错,为什么对象的属性必须是个匿名函数呢?


zz.c不是函数,除非你的show函数返回一个函数。
希望你不要晕了。。


因为c是show(i)的返回值,并不是一个函数,你可以把show函数返回一个函数对象!
还有就是你为什么不直接贴代码,而要弄张图上来!!!


你这里的c:show(i)不是定义一个函数了,而执行了show(i),c为show(i)的返回值


show(i) => 这是执行
function show(i) => 这是定义


你这么写就相当于

{
    c: console.log('haha')
}

这样,zz.c 值为 undefined,当然不是函数。


呃,,,你还是再好好看看 JS 基础知识吧。
你没发现你那那些代码执行后就输出了一个 haha 吗? show(i) 此时已经执行了,还没有返回,zz.cundefined,肯定无法执行。


很简单 你的cshow(i)你的show(i)的返回值是undefined
你可以这样:

zzz.b//function
zzz.c//undefined

function可以执行所以zzz.b()是合法的

【热门文章】
【热门文章】