在javascript中为啥使用“ var that = this” [重复]

Posted

技术标签:

【中文标题】在javascript中为啥使用“ var that = this” [重复]【英文标题】:in javascript why use " var that = this " [duplicate]在javascript中为什么使用“ var that = this” [重复] 【发布时间】:2011-07-18 07:45:17 【问题描述】:

嗨,我是 javascript 新手

使用这条线有什么好处

var that = this

一个例子

function Person( firstname, lastname, age ) 

    this.firstname = firstname;

    this.lastname = lastname;

    this.age = age;

    getfullname = function() 

        return firstname + “ “ + lastname;
    ;

    var that = this;


    this.sayHi = function() 

        document.write( “Hi my name is “ + getfullname() + “ and I am “ + that.age + “years old.”);

    ;

谢谢

【问题讨论】:

嗨 tarek11011,这是一个更适合 *** 的问题。其实问题是already answered有几次 那个问题是关于 var 的使用,这不是这里要问的 为什么getfullname前面没有this 【参考方案1】:

因为在内部函数中 this 与外部函数中的对象不同,因此通过将其别名为 that 您可以确保您正在与相同的对象交谈对象。

【讨论】:

以上是关于在javascript中为啥使用“ var that = this” [重复]的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript:为啥我们在函数中使用 **arguments** 对象? [复制]

为啥在 JavaScript 对象中使用公共方法? [复制]

为啥在 Javascript 中使用类似数组的对象?

为啥我可以在 JavaScript 中定义函数之前使用它?

在javascript中为啥使用“ var that = this” [重复]

为啥在 JavaScript 中使用 getRangeAt() 会从选择中删除一些内容?