Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erklärung des Javascript-Abschlusses var that=this

Detaillierte Erklärung des Javascript-Abschlusses var that=this

小云云
小云云Original
2018-02-22 15:57:333016Durchsuche

Kurzer Überblick

var f1  = function(){
    var a = 999;
    nAdd = function(){n+=1}    //没有var,nAdd是全局变量
    f2 = function(){
        alert(a)
    }
    return f2;
}
var result = f1();
result();    //999
nAdd();        //相当于一个setter,可以在函数外部操作函数内部变量的值
result();    //1000,f2()被执行了2次

Das Konzept des Abschlusses

Funktion innerhalb einer Funktion

Der Zweck des Abschlusses

Sie können den Inhalt darin lesen Die Funktionsvariablen
behalten die Variablen der übergeordneten Funktion immer im Speicher
Hinweis: Wenn Sie die Variablenwerte der übergeordneten Funktion unverändert lassen möchten, müssen Sie die übergeordnete Funktion als Objekt verwenden

//父函数作对象
var name = 'The Window';
var object = {
    name : 'The Object',
    getName : function(){
        return function(){
            return this.name
        }
    }
}

alert(object.getName()())    //The Window

var that = this;

var _name = 'The Window';
var object = {
    _name : 'The Object',    //_name 下划线表示私有变量
    getName : function(){
        var that = this;
        return function(){
            return that._name;
        }
    }
}

alert(object.getName()())    //The Object

that=this / _this=this


Lernen Sie den Javascript-Verschluss (Closure) (Ruan Yifeng)

Verwandte Empfehlungen:

Detaillierte Einführung in JavaScript-Verschlüsse

Einfache Anwendung des JavaScript-Verschlusses Beispiele

Was ist der Abschluss von JavaScript? Wie verwende ich den Javascript-Abschluss?

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung des Javascript-Abschlusses var that=this. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn