以这种方式分配变量的目的是在存在嵌套范围时提供对父范围内活动对象的访问。我认为这是相当糟糕的形式;为什么不为父目标对象提供一个更有意义的变量名呢?
例如,如果我们选择页面中的所有 div,并遍历它们。在每个 div 中,我们选择目标 div 中的所有锚链接,在嵌套循环中迭代这些锚链接。在此示例中,外部范围的“this”是当前目标 div,内部范围的“this”将是当前目标锚链接。
要在外部范围内创建一个挂钩到活动目标 div,我通常会看到:
var that = this;
即使在 Crockford 的 Good-Parts 书中,他也使用了这个作业。
冒着质疑这种技术而自欺欺人的风险,为什么不做一些更有意义的事情,比如
var outerDiv = this;
你怎么看?