|
|
1
1
如果我正确理解你(很难说,即使有你最新的编辑),答案是否定的。闭包的目的之一是封装变量,限制对相关/相关代码组的访问(分配给
由于
全局上下文),以尽量减少名称冲突和/或意外交互。如果您想访问
|
|
|
2
3
我不知道你所说的“拆封”是什么意思。确定功能可以使用 arguments.calele参数 :
检查变量是否在作用域中的唯一真正方法是尝试访问它。这意味着您需要使用try/catch语句,因为如果引用未声明的变量,则会引发错误:
实际上,如果编写代码,您就已经知道哪些变量在作用域中,如果不编写代码,甚至可以通过检查代码来知道。
如果您试图获取堆栈,可以使用
呼叫者
财产
大多数内置的开发人员工具以更清晰的方式为您提供堆栈(IE7和IE8没有),因此最好在可能的情况下使用它们。 *目前所有主要浏览器都支持function.caller。它也似乎是在ecmascript 3.1中定义的-您可以检查支持 here . |
|
|
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 1 年前 |
|
|
Alex · 在轻量级中同时解构和不解构变量 1 年前 |
|
|
Ângelo Rigo · ReactJS映射:如何迭代[关闭] 1 年前 |
|
|
bairog · 从按属性筛选的对象数组字典中创建值数组 1 年前 |
|
|
lokiuucx · JS对象属性返回未定义,尽管对象属性应该有值 1 年前 |