Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erklärung des Unterschieds zwischen diesem und einem Ereignis in JS

Detaillierte Erklärung des Unterschieds zwischen diesem und einem Ereignis in JS

黄舟
黄舟Original
2017-10-24 09:33:052157Durchsuche

Heute habe ich die beiden Parameterübergabeformen von this und event im Kapitel „Einführung in JavaScript Classic – Ereignisse“ gesehen. Da ich als Junior-Frontend-Entwickler dies nur zum Übergeben von Parametern verwendet habe, möchte ich unbedingt herausfinden, was der Unterschied zwischen diesem und dem Ereignis ist und welches unter welchen Umständen besser geeignet ist.

onclick = changeImg(this) vs onclick = changeImg(event)


<img src=&#39;usa.gif&#39; onclick="changeImg(event)" />
<script>
  var myImages = [
    &#39;usa.gif&#39;,&#39;canada.gif&#39;,&#39;jamaica.gif&#39;,&#39;mexico.gif&#39;
  ];
  function changeImg(e) {
    var el = e.target;
    var newImgNumber = Math.round(Math.round()*3);
    while(el.src.indexOf(myImages[newImgNumber]) != -1){
      el.src =myImages[newImgNumber];
    }
  }
</script>

1.Dies ist ein Schlüsselwort in der Javascript-Sprache.

2.Dies stellt ein internes Objekt dar, das automatisch generiert wird, wenn die Funktion ausgeführt wird, und kann nur innerhalb der Funktion verwendet werden.

3. Der Unterschied zwischen diesem und event.target:

Ereignisse in js werden sprudeln, sodass sich dies ändern kann, aber event.target ändert sich nicht (nur wenn das Ereignis ausgelöst wird). Durch Übergabe der Referenz des aktuellen Ereignisobjekts ist es immer das Ziel-DOM-Element, das das Ereignis direkt akzeptiert.

Darüber hinaus sind this und event.target beide DOM-Objekte, wenn Sie die Methode verwenden möchten jquey, Sie können sie konvertieren. Für Jquery-Objekte: $(this) und $(event.target);

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung des Unterschieds zwischen diesem und einem Ereignis in JS. 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