在函数外部定义属性。

zohu_chneg 2012-09-09 12:19:05
function test() {
test.t++;
}
test.t = 0;
for(var i = 0; i < 10; i++) {
test();
}
alert(test.t); // 为什么他每次调用之后不会被销毁啊,难道它是一个静态变量? 只属于test();?

...全文
208 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
挨踢直男 2012-09-10
  • 打赏
  • 举报
回复
好比是面向对象中的静态
likeajin 2012-09-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

test.t属于test,而test属于window,在成员test.t被test持有,而test是全局的不会被释放,test.t也就不回被释放
[/Quote]
++
zohu_chneg 2012-09-09
  • 打赏
  • 举报
回复
test.t 是属于 test()的 还是属于window的。
展S开K双Y翼 2012-09-09
  • 打赏
  • 举报
回复
所有函数外部定义的变量都属于window对象,你每次调用时他就把值存住了。当然不会被销毁了。
未知数 2012-09-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
test.t 是属于 test()的 还是属于window的。
[/Quote]
test.t属于test,而test属于window,在成员test.t被test持有,而test是全局的不会被释放,test.t也就不回被释放
泡泡鱼_ 2012-09-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
test.t 是属于 window 的

如果你认为他是属于 test 的那么就应该在 test 内部用 this.t 访问到
[/Quote]

+1
xuzuning 2012-09-09
  • 打赏
  • 举报
回复
test.t 是属于 window 的

如果你认为他是属于 test 的那么就应该在 test 内部用 this.t 访问到
licai1210 2012-09-09
  • 打赏
  • 举报
回复

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧