这个问题并非特定于jQuery,而是通常特定于Javascript。核心问题是如何在嵌入式函数中“引导”变量。这是示例:
var abc = 1; // we want to use this variable in embedded functionsfunction xyz(){ console.log(abc); // it is available here! function qwe(){ console.log(abc); // it is available here too! } ...};此技术依赖于使用闭包。但这不能使用,
this因为它
this是一个伪变量,可能会随着范围的变化而动态变化:
// we want to use "this" variable in embedded functionsfunction xyz(){ // "this" is different here! console.log(this); // not what we wanted! function qwe(){ // "this" is different here too! console.log(this); // not what we wanted! } ...};我们能做什么?将其分配给某个变量,并通过别名使用它:
var abc = this; // we want to use this variable in embedded functionsfunction xyz(){ // "this" is different here! --- but we don't care! console.log(abc); // now it is the right object! function qwe(){ // "this" is different here too! --- but we don't care! console.log(abc); // it is the right object here too! } ...};this在这方面不是唯一的:
arguments是另一个应以相同方式处理的伪变量-通过别名。



