您如何向知道其所包含概念的人(例如函数,变量等)解释JavaScript闭包,但不了解闭包本身?
我已经看过维基百科上给出的Scheme示例,但遗憾的是它并没有帮助.
我认为这将是我可以轻松谷歌的东西,但也许我不是在问正确的问题......
如何在给定的javascript函数中设置"this"指的是什么?
例如,像大多数jQuery的功能一样,例如:
$(selector).each(function() {
//$(this) gives me access to whatever selector we're on
});
Run Code Online (Sandbox Code Playgroud)
如何在调用时编写/调用我自己的独立函数,这些函数具有适当的"this"引用?我使用jQuery,所以如果有一个特定于jQuery的方法,那就是理想的.
我有一些函数,存储在一个集合/数组中,并希望获得密钥(函数名称)而无需重新输入.有没有简短的方法来访问它?
var functions_collection = {
"function_x": function() {
var name = "function_x";
// name = this.key; <- how to get the key/function-name "function_x"?
// some more code like:
$(".function_x .button").val();
alert(name);
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:我想避免重新输入函数本身内部的"function_x",而更喜欢像this.key一样调用它.
对不起这个奇怪的主题,并提前感谢!
解决方案:很多很好的答案,但我只是在寻找这个剪辑:
Object.keys(this)
Run Code Online (Sandbox Code Playgroud)