Heim Web-Frontend js-Tutorial javaScript中的this示例学习详解及工作原理_基础知识

javaScript中的this示例学习详解及工作原理_基础知识

May 16, 2016 pm 05:04 PM
工作原理

this的工作原理

如果一个函数被作为一个对象的方法调用,那么this将被指派为这个对象。

复制代码 代码如下:

var parent = {
    method: function () {
        console.log(this);
    }
};

parent.method();
//


注意这种行为非常“脆弱”,如果你获取一个方法的引用并且调用,那么this的值不会是parent了,而是window全局对象。这让大多数开发者迷惑。

复制代码 代码如下:

ThisClownCar();
//  

改动this

.call、 .apply 和.bind 方法用来操作调用函数的方式,帮我们定义this的值和传递给函数的参数值。

Function.prototype.call 可以有任意数量的参数,第一个参数被分配给this,剩下的被传递给调用函数。

复制代码 代码如下:

Array.prototype.slice.call([1, 2, 3], 1, 2)
//
Function.prototype.apply 的行为和.call类似,但它传递给函数的参数是一个数组,而不是任意参数。

String.prototype.split.apply('13.12.02', ['.'])
//  

Function.prototype.bind 创建一个特殊的函数,该函数将永远使用传递给.bind的参数作为this的值,以及能够分配部分参数,创建原函数的珂里化(curride)版本。

 

复制代码 代码如下:

var arr = [1, 2];
var add = Array.prototype.push.bind(arr, 3);

// effectively the same as arr.push(3)
add();

// effectively the same as arr.push(3, 4)
add(4);

console.log(arr);
//


作用域链中的this

在下面的例子,this将无法在作用域链中保持不变。这是规则的缺陷,并且常常会给业余开发者带来困惑。

复制代码 代码如下:

function scoping () {
  console.log(this);

  return function () {
    console.log(this);
  };
}

scoping()();
// //

有一个常见的方法,创建一个局部变量保持对this的引用,并且在子作用域中不能有同命变量。子作用域中的同名变量将覆盖父作用域中对this的引用。http://www.cnblogs.com/sosoft/

复制代码 代码如下:

function retaining () {
  var self = this;

  return function () {
    console.log(self);
  };
}

retaining()();
//  

除非你真的想同时使用父作用域的this,以及当前this值,由于某些莫名其妙的原因,我更喜欢是使用的方法.bind函数。这可以用来将父作用域的this指定给子作用域。

 

复制代码 代码如下:

function bound () {
  return function () {
    console.log(this);
  }.bind(this);
}

bound()();
//
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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

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)

Was ist eine SOL-Münze? Wie funktioniert die SOL-Münze? Was ist eine SOL-Münze? Wie funktioniert die SOL-Münze? Mar 16, 2024 am 10:37 AM

Solana Blockchain und SOL Token Solana ist eine Blockchain-Plattform, die sich auf die Bereitstellung hoher Leistung, Sicherheit und Skalierbarkeit für dezentrale Anwendungen (dApps) konzentriert. Als nativer Vermögenswert der Solana-Blockchain werden SOL-Token hauptsächlich zur Zahlung von Transaktionsgebühren, zur Verpfändung und zur Teilnahme an Governance-Entscheidungen verwendet. Die einzigartigen Merkmale von Solana sind die schnellen Transaktionsbestätigungszeiten und der hohe Durchsatz, was es zu einer bevorzugten Wahl bei Entwicklern und Benutzern macht. Durch SOL-Tokens können Nutzer an verschiedenen Aktivitäten des Solana-Ökosystems teilnehmen und gemeinsam die Entwicklung und den Fortschritt der Plattform vorantreiben. So funktioniert Solana Solana nutzt einen innovativen Konsensmechanismus namens Proof of History (PoH), der in der Lage ist, Tausende von Transaktionen effizient zu verarbeiten.

Was ist die Architektur und das Arbeitsprinzip von Spring Data JPA? Was ist die Architektur und das Arbeitsprinzip von Spring Data JPA? Apr 17, 2024 pm 02:48 PM

SpringDataJPA basiert auf der JPA-Architektur und interagiert mit der Datenbank über Mapping, ORM und Transaktionsmanagement. Sein Repository bietet CRUD-Operationen und abgeleitete Abfragen vereinfachen den Datenbankzugriff. Darüber hinaus nutzt es Lazy Loading, um Daten nur bei Bedarf abzurufen und so die Leistung zu verbessern.

Was ist eine Polygonmünze? Wie funktioniert die Polygon-Münze? Was ist eine Polygonmünze? Wie funktioniert die Polygon-Münze? Mar 16, 2024 am 09:22 AM

Polygon: Eine multifunktionale Blockchain, die das Ethereum-Ökosystem aufbaut. Polygon ist eine multifunktionale Blockchain-Plattform auf Basis von Ethereum, früher bekannt als MaticNetwork. Sein Ziel ist es, die Skalierbarkeits-, hohen Gebühren- und Komplexitätsprobleme im Ethereum-Netzwerk zu lösen. Polygon bietet Entwicklern und Benutzern durch die Bereitstellung von Skalierbarkeitslösungen ein schnelleres, günstigeres und einfacheres Blockchain-Erlebnis. So funktioniert Polygon: Sidechain-Netzwerk: Polygon erstellt ein Netzwerk aus mehreren Sidechains. Diese Sidechains laufen parallel zur Ethereum-Hauptkette und können große Transaktionsvolumina verarbeiten, wodurch der gesamte Netzwerkdurchsatz erhöht wird. Plasma-Framework: Polygon nutzt das Plasma-Framework, das

Was ist eine VET-Münze? Wie funktioniert die VET-Münze? Was ist eine VET-Münze? Wie funktioniert die VET-Münze? Mar 16, 2024 am 11:40 AM

VET Coin: Blockchain-basiertes IoT-Ökosystem VeChainThor (VET) ist eine auf Blockchain-Technologie basierende Plattform, die darauf abzielt, den Bereich Internet der Dinge (IoT) zu verbessern, indem sie die Glaubwürdigkeit von Daten gewährleistet und einen sicheren Transfer von Wertschöpfungsketten und Geschäftsprozessen ermöglicht . VET Coin ist der native Token der VeChainThor-Blockchain und hat die folgenden Funktionen: Transaktionsgebühren bezahlen: VET Coins werden zur Zahlung von Transaktionsgebühren im VeChainThor-Netzwerk verwendet, einschließlich Datenspeicherung, Ausführung intelligenter Verträge und Identitätsprüfung. Governance: VET-Token-Inhaber können an der Governance von VeChainThor teilnehmen, einschließlich der Abstimmung über Plattform-Upgrades und Vorschläge. Anreize: Berufsbildungsmünzen werden verwendet, um Prüfern im Netzwerk Anreize zu bieten, die sicherzustellen

Was ist eine SHIB-Münze? Wie funktioniert die SHIB-Münze? Was ist eine SHIB-Münze? Wie funktioniert die SHIB-Münze? Mar 17, 2024 am 08:49 AM

ShibaInu Coin: Von Hunden inspirierte Kryptowährung ShibaInu Coin (SHIB) ist eine dezentrale Kryptowährung, die vom legendären Shiba Inu-Emoji inspiriert ist. Die Kryptowährung wurde im August 2020 eingeführt und soll eine Alternative zu Dogecoin im Ethereum-Netzwerk sein. Funktionsprinzip SHIB-Coin ist eine digitale Währung, die auf der Ethereum-Blockchain basiert und dem ERC-20-Token-Standard entspricht. Es nutzt einen dezentralen Konsensmechanismus, Proof of Stake (PoS), der es Inhabern ermöglicht, ihre SHIB-Tokens einzusetzen, um Transaktionen zu verifizieren und dafür Belohnungen zu verdienen. Hauptmerkmale Riesiges Angebot: Der anfängliche Bestand an SHIB-Münzen beträgt 1.000 Billionen Münzen und ist damit eine der größten im Umlauf befindlichen Kryptowährungen. Niedrige Preise

Was ist eine Algorand-Münze? Wie funktioniert die Algorand-Münze? Was ist eine Algorand-Münze? Wie funktioniert die Algorand-Münze? Mar 17, 2024 am 08:30 AM

Algorand: Eine Blockchain-Plattform, die auf dem rein byzantinischen Konsensprotokoll basiert. Algorand ist eine Blockchain-Plattform, die auf dem rein byzantinischen Konsensprotokoll basiert und darauf abzielt, effiziente, sichere und skalierbare Blockchain-Lösungen bereitzustellen. Die Plattform wurde 2017 von MIT-Professor Silvio Micali gegründet. Funktionsprinzip Der Kern von Algorand liegt in seinem einzigartigen rein byzantinischen Konsensprotokoll, dem Algorand-Konsens. Dieses Protokoll ermöglicht es Knoten, in einer vertrauenswürdigen Umgebung einen Konsens zu erzielen, selbst wenn sich bösartige Knoten im Netzwerk befinden. Der Algorand-Konsens erreicht dieses Ziel durch eine Reihe von Schritten. Schlüsselgenerierung: Jeder Knoten generiert ein Paar öffentlicher und privater Schlüssel. Vorschlagsphase: Ein zufällig ausgewählter Knoten schlägt eine neue Zone vor

Was ist Beam Coin? Wie funktioniert Beam Coin? Was ist Beam Coin? Wie funktioniert Beam Coin? Mar 15, 2024 pm 09:50 PM

Beam Coin: Datenschutzorientierte Kryptowährung Beam Coin ist eine datenschutzorientierte Kryptowährung, die für sichere und anonyme Transaktionen entwickelt wurde. Es nutzt das MimbleWimble-Protokoll, eine Blockchain-Technologie, die die Privatsphäre der Benutzer verbessert, indem sie Transaktionen zusammenführt und die Adressen von Absendern und Empfängern verbirgt. Das Designkonzept von Beam Coin besteht darin, Benutzern eine digitale Währungsoption bereitzustellen, die die Vertraulichkeit von Transaktionsinformationen gewährleistet. Durch die Übernahme dieses Protokolls können Benutzer Transaktionen mit größerem Vertrauen durchführen, ohne befürchten zu müssen, dass ihre persönlichen Daten verloren gehen. Durch diese Funktion zum Schutz der Privatsphäre verbessert das MimbleWimble-Protokoll die Privatsphäre durch: Zusammenführen von Transaktionen: Es kombiniert mehrere Transaktionen

Was ist eine AR-Münze? Wie funktioniert die AR-Münze? Was ist eine AR-Münze? Wie funktioniert die AR-Münze? Mar 15, 2024 pm 07:25 PM

AR Coin: Digitale Währung basierend auf Augmented-Reality-Technologie AR Coin ist eine digitale Währung, die Augmented-Reality-Technologie nutzt, um Benutzern die Erfahrung der Interaktion mit digitalen Inhalten zu bieten und es ihnen zu ermöglichen, immersive Erlebnisse in der realen Welt zu schaffen. Wie es funktioniert AR Coin basiert auf den folgenden Schlüsselkonzepten: Augmented Reality (AR): AR-Technologie überlagert digitale Informationen mit der realen Welt und ermöglicht Benutzern die Interaktion mit virtuellen Objekten. Blockchain: Blockchain ist eine Distributed-Ledger-Technologie zur Aufzeichnung und Überprüfung von Transaktionen. Es bietet Sicherheit und Transparenz für AR-Münzen. Smart Contracts: Smart Contracts sind in der Blockchain gespeicherte Codes, die zur Automatisierung bestimmter Vorgänge verwendet werden. Sie spielen eine entscheidende Rolle bei der Erstellung und Verwaltung von AR-Münzen. Der Arbeitsablauf von AR-Münzen ist wie folgt: Erstellen Sie einen AR-Körper

See all articles