1
2
这是(对)调用函数的对象。
所以在你
事实是
更具体地说,变量
|
2
1
打电话是不对的
JavaScript只是一种不同的语言,它以不同的方式进行操作。那
而且,除非您没有发布的其他东西正在为“f”设置原型对象,否则代码绝对不起作用。“method”和“method2”都不能从对“f”实例的引用中调用。 |
3
1
对于方法的定义,您可能希望执行以下操作:
|
4
1
这就是你要找的例子吗?
在方法的情况下,它调用使用self的helper,该helper在创建时指向f,因此可以工作。 在method2的情况下,它使用helper2,helper2使用这个方法。但是在helper2中,这个函数的含义是“全局”范围,因此返回未定义的值。 |
5
1
事实证明,这是ecmascript(因此是javascript)的ecma规范的一个黑暗角落:
(http://jibbering.com/faq/notes/closures/;感谢@brian flanagan提供链接)
显然,在执行分配给变量的函数时(在另一个变量中
我不太确定这是否是
这种行为不同于
财产
A的
此问题的解决方案(同时保持私有
这和
编辑:
在中忘记了带括号的函数
|
minus one · 空条件和空合并运算符*与*纯布尔表示法 6 年前 |
zaozaoer · >>java中带负字节值的and>>>运算符 6 年前 |
Ganesh Thampi · 使用位的奇偶程序 6 年前 |
FredMan · Rust中的<-符号是什么? 6 年前 |
user9578589 · Java条件数组 6 年前 |
Francisco José Letterio · 无法理解指针操作 6 年前 |
Danny · 如何在r中键入grep中的运算符 6 年前 |
David Rector · 什么是?=操作员在Swift中做什么? 6 年前 |
Gian · “/”操作符在Lua中提供什么功能? 6 年前 |