收藏本站腾讯微博新浪微博

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 网站开通淘帖功能 - 蓝色理想插件 论坛内容导读一页看论坛 - 给官方提建议

论坛活动及任务 地图和邮件任务 请多用悬赏提问 热夏来袭,选一款蓝色理想的个性T恤吧!

手机上论坛,使用APP获得更好体验 急需前端攻城狮,获得内部推荐机会 论坛开通淘帖功能,收藏终于可以分类了!

搜索
查看: 3671|回复: 4

callee的属性[已解决]

[复制链接]
发表于 2008-10-29 22:20:37 | 显示全部楼层 |阅读模式
我已经了解,在JavaScript中callee用来调用当前正在运行的函数,主要的应用是匿名函数递归。但是今天读代码的时候看到下面一句
        if (arguments.callee.done) return;
        //如果函数已经被调用过了就返回
可以推测出callee的done属性如果为真就表示函数被调用过。想问以下问题:
1。callee的作用域是函数内部,且只在运行时有效,那么函数再运行一次的时候done属性还会保留?
2。callee还有哪些属性呢?
Google了,看了MDC,还是没找到答案。

[[i] 本帖最后由 chenzhe 于 2008-10-29 23:14 编辑 ]
发表于 2008-10-29 22:53:38 | 显示全部楼层
arguments.callee.done应该是用户自已定义的一个值吧
另外
arguments.callee有一个属性就是length
他代表函数实际需要参数的数目
比如

 提示:您可以先修改部分代码再运行

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-29 23:10:48 | 显示全部楼层
感谢!
callee.length和arguments.length。
可以用来比较函数声明参数个数和实际参数个数。
学习了。
至于第一个问题,确实是自定义的属性,而且就在下一行,看眼花了,居然漏掉了。拍下马屁,居然没看代码就想到是自定义属性,我怎么就没想到呢?呵呵。
回复 支持 反对

使用道具 举报

发表于 2012-1-24 23:13:29 | 显示全部楼层
兄弟,是不是也在看nicEdit呀。有什么收获,分享一下吧。
回复 支持 反对

使用道具 举报

发表于 2012-1-24 23:21:03 | 显示全部楼层
通过楼主的帖子,学习到了.callee.done
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|Archiver|手机版|blueidea.com ( ICP05002321 )  

GMT+8, 2019-9-22 07:51 , Processed in 0.111047 second(s), 10 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表