Maison > interface Web > js tutoriel > le corps du texte

Explication détaillée de la fermeture javascript var that=this

小云云
Libérer: 2018-02-22 15:57:33
original
3067 Les gens l'ont consulté

Aperçu rapide

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次
Copier après la connexion

Le concept de fermeture

Fonction au sein d'une fonction

Le but de la fermeture

Vous pouvez lire le contenu à l'intérieur la fonction Variables
garde les variables de la fonction parent toujours en mémoire
Remarque : Si vous souhaitez conserver les valeurs des variables de la fonction parent inchangées, vous devez utiliser la fonction parent comme objet

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

alert(object.getName()())    //The Window
Copier après la connexion

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
Copier après la connexion

that=this / _this=this


Apprendre la fermeture Javascript (Closure) Ruan Yifeng)

Recommandations associées :

Introduction détaillée aux fermetures JavaScript

Application simple de la fermeture JavaScript exemples

Qu'est-ce que la fermeture de JavaScript ? Comment utiliser la fermeture javascript ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal