javascript - 为什么对象的属性对应的函数必须是匿名函数呢?
ringa_lee
ringa_lee 2017-04-11 12:10:51
[JavaScript讨论组]

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

ringa_lee
ringa_lee

ringa_lee

全部回复(7)
阿神

你这么写就相当于

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

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

迷茫

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

大家讲道理

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

大家讲道理

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

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

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

PHP中文网

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

巴扎黑

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

PHPz

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号