recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Comment implémenter des variables statiques dans js

<button type="button" onclick="func();">按钮</button>

var i = 0;
func(){
    i += 1;
    console.log(i)
}

Exigence : cliquez sur la variable du bouton pour augmenter de 1. Trouvez le meilleur moyen d’y parvenir.
Pour ajouter, il existe de nombreuses façons d’y parvenir.

  1. Enregistrer directement dans des variables globales - polluant l'espace de noms global

  2. Utiliser un tableau global pour enregistrer les variables globales de l'application actuelle - n'est pas conforme à l'architecture actuelle

  3. Fermeture - ne semble pas s'adapter à la scène actuelle (utilisez onclick pour déclencher la fonction)

  4. Ancré dans l'élément HTML - encore très faible

  5. Utiliser une grande fonction anonyme pour prolonger la durée de vie d'une variable - n'est pas conforme à l'architecture actuelle

天蓬老师天蓬老师2805 Il y a quelques jours866

répondre à tous(5)je répondrai

  • 某草草

    某草草2017-06-26 11:00:14

    Qui a dit que les fermetures ne s’appliquaient pas ?

    var func = (function(){
    var i = 0;
    return function(){
        i++;
        console.log(i);
    }
    
    }());

    Ou vous pouvez faire ceci :

    var func = function(){
        func.i++;
        console.log(func.i);
    };
    func.i = 0;

    répondre
    0
  • PHP中文网

    PHP中文网2017-06-26 11:00:14

    Enregistré dans les attributs du nœud dom

    <button data-click-number="0" type="button" id="incBtn" >按钮</button>
    $("#incBtn").on('click',function(){
     var preClickNumber=$(this).attr('data-click-number') ?: 1;
     $(this).attr('data-click-number',preClickNumber++);
    });

    répondre
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-26 11:00:14

    js n'a pas de variables statiques. Il n'y a que des variables locales et des variables globales.

    <button type="button" onclick="++i">按钮</button>
    
    var i = 0;

    répondre
    0
  • 大家讲道理

    大家讲道理2017-06-26 11:00:14

    Vous n'utilisez pas let ?

    répondre
    0
  • 黄舟

    黄舟2017-06-26 11:00:14

    Les fermetures sont très populaires. Je vous suggère de lire quelques livres sur les expressions fonctionnelles de JavaScript. C'est aussi une fonctionnalité majeure de JavaScript

    .
    let click = (() => {
        var i = 0;
        return function() {
          i += 1;
          console.log(i)
        }
    })()

    répondre
    0
  • Annulerrépondre