日期:2014-05-16  浏览次数:20408 次

有无办法遍历函数里的所有变量?!
如题。

像遍历对象元素一样?!

------解决方案--------------------
for(var key in obj)

需要注意两点:
1、obj必须是实例 不能是类
2、内部变量无效 只弄是 this关键字定义的 公开的变量



function fff(){ var aaa=1;this.bbb='ccc';this.ddd=function(){alert(111)}}

for(var aa in  fff){console.log(aa)}
undefined

for(var aa in  new fff()){console.log(aa)}
bbb
ddd
undefined


------解决方案--------------------
函数内部的变量是封闭的,叫作用域安全性
------解决方案--------------------
应该没办法吧,原型可以通过prototype但是作用域链中保存了变量,但不可访问
------解决方案--------------------
内部的变量都在函数的上下文根对象上..这个对象是隐藏的..没有公开给我们访问
所以你的想法是实现不了的