Heim Web-Frontend js-Tutorial Diskussion zum Zeigeproblem in js

Diskussion zum Zeigeproblem in js

Mar 16, 2018 pm 05:09 PM
javascript this 探讨

Dieser Artikel teilt Ihnen hauptsächlich die Diskussion über das Zeigeproblem in js mit. Das Schlüsselwort this stellt das Objekt der aktuell ausgeführten Methode dar. Wenn keine aktuelle Methode vorhanden ist, verweist es auf die globale Variable. Das heißt, dies stellt die Referenz des Objekts dar, das die Methode aufruft.

1. Dies im globalen Bereich oder in der gewöhnlichen Funktion zeigt auf das globale Objektfenster.

//直接打印
    console.log(this) //window
//function声明函数
    function bar () {conso
le.log(this)}bar() //window
//function声明函数赋给变量
    var bar = function () {console.log(this)}bar() //window
//自执行函数
    (function () {console.log(this)})(); //window
Nach dem Login kopieren

2. Wer ruft das auf und zeigt auf wen

//对象方法调用
    var person = {run: function () {console.log(this)}}person.run()// person
//事件绑定
    var btn = document.querySelector("button")btn.onclick = function () {console.log(this) // btn}
//事件监听
    var btn = document.querySelector("button")btn.addEventListener('click', function () {console.log(this) //btn})
//jquery的ajax
    $.ajax({ self: this,    type:"get",    url: url,    async:true,    success: function (res) {console.log(this)
 // this指向传入$.ajxa()中的对象
    console.log(self) // window  } }); 
//这里说明以下,将代码简写为$.ajax(obj) ,this指向obj,在obj中this指向window,因为在在success方法中,独享obj调用自己,所以this指向obj
Nach dem Login kopieren

3 Im Konstruktor oder Konstruktor-Prototypobjekt zeigt dies auf die Instanz des Konstruktors

//不使用new指向window
    windowfunction Person (name) {console.log(this) // window    
    this.name = name;}Person('inwe')
//使用new
    function Person (name) {this.name = name   console.log(this) //people     
    self = this  }  var people = new Person('iwen')  console.log(self === people) //true
//这里new改变了this指向,将this由window指向Person的实例对象people
new改变this指向,将this指向window改为指向person的实例people
Nach dem Login kopieren

Ändern Sie den Zeiger davon:

Funktion Es handelt sich um einen besonderen Typ an sich. Auf wen dies verweist, kann nicht bestimmt werden, wenn die Funktion ausgeführt wird zeigt auf die Funktion, die es letztendlich aufruft.

Verwandte Empfehlungen:

Detaillierte Erläuterung der Verwendung und des Zugriffsqualifizierers von $this in PHP

Ändern Sie den this-Zeiger in JavaScript Verschiedene Methoden

diese Regeln und Beispiele für die Verwendung dieses Objekts in JavaScript

Das obige ist der detaillierte Inhalt vonDiskussion zum Zeigeproblem in js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Jan 05, 2024 pm 06:08 PM

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

So erhalten Sie auf einfache Weise HTTP-Statuscode in JavaScript So erhalten Sie auf einfache Weise HTTP-Statuscode in JavaScript Jan 05, 2024 pm 01:37 PM

Einführung in die Methode zum Abrufen des HTTP-Statuscodes in JavaScript: Bei der Front-End-Entwicklung müssen wir uns häufig mit der Interaktion mit der Back-End-Schnittstelle befassen, und der HTTP-Statuscode ist ein sehr wichtiger Teil davon. Das Verstehen und Abrufen von HTTP-Statuscodes hilft uns, die von der Schnittstelle zurückgegebenen Daten besser zu verarbeiten. In diesem Artikel wird erläutert, wie Sie mithilfe von JavaScript HTTP-Statuscodes erhalten, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist ein HTTP-Statuscode? HTTP-Statuscode bedeutet, dass der Dienst den Dienst anfordert, wenn er eine Anfrage an den Server initiiert

Tiefer Einblick: Was ist das Django-Framework? Tiefer Einblick: Was ist das Django-Framework? Jan 19, 2024 am 09:23 AM

Das Django-Framework ist ein Python-Framework für Webanwendungen, das eine einfache und leistungsstarke Möglichkeit zum Erstellen von Webanwendungen bietet. Tatsächlich hat sich Django zu einem der beliebtesten Python-Webentwicklungs-Frameworks entwickelt und ist für viele Unternehmen, darunter Instagram und Pinterest, zur ersten Wahl geworden. Dieser Artikel befasst sich mit dem Django-Framework, einschließlich grundlegender Konzepte und wichtiger Komponenten sowie spezifischer Codebeispiele. Django-GrundkonzepteDjan

JavaScript und WebSocket: Aufbau einer effizienten Echtzeitsuchmaschine JavaScript und WebSocket: Aufbau einer effizienten Echtzeitsuchmaschine Dec 17, 2023 pm 10:13 PM

JavaScript und WebSocket: Aufbau einer effizienten Echtzeit-Suchmaschine Einführung: Mit der Entwicklung des Internets stellen Benutzer immer höhere Anforderungen an Echtzeit-Suchmaschinen. Bei der Suche mit herkömmlichen Suchmaschinen müssen Benutzer auf die Suchschaltfläche klicken, um Ergebnisse zu erhalten. Diese Methode kann den Anforderungen der Benutzer an Echtzeit-Suchergebnissen nicht gerecht werden. Daher ist die Verwendung von JavaScript und WebSocket-Technologie zur Implementierung von Echtzeitsuchmaschinen zu einem heißen Thema geworden. In diesem Artikel wird die Verwendung von JavaScript ausführlich vorgestellt

So implementieren Sie ein elektronisches Online-Signatursystem mit WebSocket und JavaScript So implementieren Sie ein elektronisches Online-Signatursystem mit WebSocket und JavaScript Dec 18, 2023 pm 03:09 PM

Überblick über die Verwendung von WebSocket und JavaScript zur Implementierung eines elektronischen Online-Signatursystems: Mit dem Aufkommen des digitalen Zeitalters werden elektronische Signaturen in verschiedenen Branchen häufig verwendet, um herkömmliche Papiersignaturen zu ersetzen. Als Vollduplex-Kommunikationsprotokoll kann WebSocket eine bidirektionale Datenübertragung in Echtzeit mit dem Server durchführen. In Kombination mit JavaScript kann ein elektronisches Online-Signatursystem implementiert werden. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein einfaches Online-Programm entwickeln

Tiefer Einblick: Single-Threaded-Funktionen in der Go-Sprache Tiefer Einblick: Single-Threaded-Funktionen in der Go-Sprache Mar 15, 2024 pm 02:09 PM

Als moderne Programmiersprache wurde die Go-Sprache in den letzten Jahren aufgrund ihrer Einfachheit und Effizienz von immer mehr Entwicklern geliebt und bevorzugt. Eines der einzigartigen Merkmale ist seine Single-Threaded-Natur. In herkömmlichen Multithread-Programmiersprachen müssen Entwickler die Synchronisierung und den gegenseitigen Ausschluss zwischen Threads normalerweise manuell verwalten. Mit der einzigartigen Coroutine (Goroutine) und dem Kommunikationsmechanismus (Kanal) kann die gleichzeitige Programmierung bequem und effizient implementiert werden. 1. Goroutine und Single-Thread: Go-Sprache

Ein tiefer Einblick in gängige Sonderzeichen unter Linux Ein tiefer Einblick in gängige Sonderzeichen unter Linux Mar 14, 2024 pm 02:54 PM

Als häufig verwendetes Open-Source-Betriebssystem verfügt das Linux-Betriebssystem über starke Anpassbarkeit und Flexibilität. Bei der Nutzung von Linux-Systemen stoßen wir häufig auf die Verarbeitung verschiedener Sonderzeichen. Diese Sonderzeichen haben in der Befehlszeile eine besondere Bedeutung und können viele erweiterte Funktionen implementieren. Dieser Artikel befasst sich mit den gängigen Sonderzeichen unter Linux und stellt deren Verwendung anhand konkreter Codebeispiele im Detail vor. Platzhalter: Platzhalter sind Sonderzeichen, die zum Zuordnen von Dateinamen verwendet werden. Zu den üblichen Platzhaltern gehören *,?, [] usw. Hier sind mehrere

So implementieren Sie ein Echtzeit-Online-Abstimmungssystem mit JavaScript und WebSocket So implementieren Sie ein Echtzeit-Online-Abstimmungssystem mit JavaScript und WebSocket Dec 18, 2023 pm 04:27 PM

So implementieren Sie mit JavaScript und WebSocket ein Echtzeit-Online-Abstimmungssystem. Einführung: Mit der rasanten Entwicklung des Internets sind Echtzeit-Online-Abstimmungssysteme bei verschiedenen Aktivitäten und Wahlen zu einer sehr verbreiteten Form geworden. Die Verwendung von JavaScript und WebSocket-Technologie zur Implementierung eines Echtzeit-Online-Abstimmungssystems bietet die Vorteile von Flexibilität und Benutzerfreundlichkeit. In diesem Artikel wird detailliert beschrieben, wie Sie mithilfe von JavaScript und WebSocket ein einfaches Echtzeit-Online-Abstimmungssystem implementieren und den entsprechenden Code bereitstellen

See all articles