有无办法遍历函数里的所有变量?!
如题。
像遍历对象元素一样?!
------解决方案--------------------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但是作用域链中保存了变量,但不可访问
------解决方案--------------------内部的变量都在函数的上下文根对象上..这个对象是隐藏的..没有公开给我们访问
所以你的想法是实现不了的