javascript - Comment la fonction de rappel accède-t-elle à la valeur sous la fonction actuelle?
大家讲道理
大家讲道理 2017-05-16 13:35:48
0
4
480

J'ai défini une variable tableau dans la fonction, qui contient 6 éléments, puis j'ai appelé la fonction de rappel dans la fonction. La valeur de la variable tableau n'est pas accessible dans la fonction de rappel, mais l'attribut length est accessible. Je me sens très confus et je ne sais pas comment le résoudre.

for(var i=0;i

Book.getBookByISBN() est une fonction que j'ai définie dans d'autres modules

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

répondre à tous (4)
伊谢尔伦

Parce que

for (var i = 0; i<10; i++) { setTimeout(function(){console.log(i)}); } for (var i = 0; i<10; i++) { (function(i){ setTimeout(function(){console.log(i)}); })(i) }

Alors

for(var i=0;i
    巴扎黑

    Mettez bookARR[i] en rappel

      左手右手慢动作

      La raison a déjà été mentionnée. En fait, il s'agit simplement de passer dans bookArr[i] où vous définissez l'appel de rappel dans la fonction Book.getBookByISBN(). Comprendre les paramètres formels et les paramètres réels

      .
        漂亮男人

        Il s'agit d'un problème asynchrone typique, et la portée de i y est toujours.
        Parce que je t'attends de manière asynchronegetBookByISBN方法调用callback的时候i=bookARR.length。这已经越界了,所以是undefined.

        Solution :
        1. Fermeture
        2.let

          Derniers téléchargements
          Plus>
          effets Web
          Code source du site Web
          Matériel du site Web
          Modèle frontal
          À propos de nous Clause de non-responsabilité Sitemap
          Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!