Inhaltsverzeichnis
1. Unäre Operatoren
1.Löschoperator
3.void-Operator
2. Relationale Operatoren
Syntax: prop in object
2. Instanz des Operators
3. Ausdruck
Wenn eine Funktion das Schlüsselwort this in ihrem Körper verwendet, kann es durch using geerbt werden Funktion Binden Sie diesen Wert an das spezifische Objekt im Aufruf aus der Aufruf- oder Apply-Methode von Function.prototype
Durch den Aufruf von f.bind(someObject) wird eine Funktion mit demselben Funktionskörper und Umfang wie f erstellt, aber In dieser neuen Funktion wird dies dauerhaft an das erste Argument von bind gebunden, unabhängig davon, wie die Funktion aufgerufen wird.
Bei Verwendung im Konstruktor erscheint das Schlüsselwort super allein und muss verwendet werden wobei der Schlüssel this vor dem Wort verwendet wird. Das Schlüsselwort super kann auch zum Aufrufen von Funktionen für das übergeordnete Objekt
Sie können Array-Ausdrücke oder Strings auf syntaktischer Ebene während Funktionsaufrufen/Array-Konstruktionen erweitern; Sie können Objektausdrücke auch erweitern, wenn Sie Literalobjekte erstellen Erweitern Sie auf Schlüsselwert-Weise
Das Funktionsschlüsselwort kann zum Definieren einer Funktion in einem Ausdruck verwendet werden. Sie können auch den Funktionskonstruktor und eine Funktionsdeklaration verwenden Definieren Sie eine Funktion
Syntax: Funktion* Name([param[, param[, ... param]]]) { Anweisungen }
Heim Web-Frontend js-Tutorial Einführung in Operatoren und Ausdrücke in JavaScript

Einführung in Operatoren und Ausdrücke in JavaScript

Sep 11, 2018 pm 05:01 PM
javascript

Dieser Artikel bietet Ihnen eine Einführung in Operatoren und Ausdrücke in JavaScript. Ich hoffe, dass er für Freunde hilfreich ist.

1. Unäre Operatoren

1.Löschoperator

Der Löschoperator wird verwendet, um ein Attribut eines Objekts zu löschen wird irgendwann freigegeben

Syntax: Löschausdruck

Der Löschoperator entfernt das angegebene Attribut aus einem Objekt. Gibt „true“ zurück, wenn das Löschen erfolgreich war, andernfalls wird „false“ zurückgegeben. typeof (operand);

   let Employee = {
        age: 28,
        name: 'abc',
        designation: 'developer'
    };
    console.log(delete Employee.name);   // returns true
    console.log(delete Employee.age);    // returns true
    console.log(Employee); //{designation: "developer"}
Nach dem Login kopieren

3.void-Operator

void-Operator wertet den angegebenen Ausdruck aus und gibt undefiniert zurück

Syntax: void-Ausdruck

    typeof NaN === 'number';
    typeof Number(1) === 'number';
    typeof "" === 'string';
    typeof true === 'boolean';
    typeof Symbol('foo') === 'symbol';
    typeof undefined === 'undefined';
    typeof null === 'object'
    typeof [1, 2, 4] === 'object';
    typeof new Boolean(true) === 'object';
    typeof new Number(1) === 'object';
    typeof new String("abc") === 'object';
    typeof function(){} === 'function';
Nach dem Login kopieren

2. Relationale Operatoren

1.in-Operator

Wenn sich das angegebene Attribut im angegebenen Objekt oder seiner Prototypenkette befindet, dann gibt der in-Operator true zurück

Syntax: prop in object

<a href="javascript:void(0);">
  这个链接点击之后不会做任何事情,如果去掉 void(),
  点击之后整个页面会被替换成一个字符 0。
</a>
<p> chrome中即使<a href="javascript:0;">也没变化,firefox中会变成一个字符串0 </p>
<a href="javascript:void(document.body.style.backgroundColor=&#39;green&#39;);">
  点击这个链接会让页面背景变成绿色。
</a>
Nach dem Login kopieren

2. Instanz des Operators

Der Instanz-Operator wird verwendet, um zu testen, ob ein Objekt in seiner Prototypenkette vorhanden ist. Prototyp-Attribut des Konstruktors

Syntax: Objektinstanz des Konstruktors

    let trees = new Array("redwood", "bay", "cedar", "oak", "maple");
    console.log(0 in trees); // 返回true
    console.log(3 in trees); // 返回true
    console.log(6 in trees); // 返回false
    console.log("bay" in trees); // 返回false (必须使用索引号,而不是数组元素的值)
    console.log("length" in trees); // 返回true (length是一个数组属性)
Nach dem Login kopieren

3. Ausdruck

1.this

Innerhalb der Funktion hängt der Wert von this davon ab, wie die Funktion aufgerufen wird. Im strikten Modus behält dies den Wert bei, den es hatte, als es in den Ausführungskontext eintrat, daher wird die folgende Funktion standardmäßig auf undefiniert gesetzt

    let simpleStr = "This is a simple string";
    let myString  = new String();
    let newStr    = new String("String created with constructor");
    let myDate    = new Date();
    let myObj     = {};
    simpleStr instanceof String; // 返回 false, 检查原型链会找到 undefined
    myString  instanceof String; // 返回 true
    newStr    instanceof String; // 返回 true
    myString  instanceof Object; // 返回 true
    myDate instanceof Date;     // 返回 true
    myObj instanceof Object;    // 返回 true, 尽管原型没有定义
Nach dem Login kopieren

Wenn eine Funktion das Schlüsselwort this in ihrem Körper verwendet, kann es durch using geerbt werden Funktion Binden Sie diesen Wert an das spezifische Objekt im Aufruf aus der Aufruf- oder Apply-Methode von Function.prototype

function f2(){
  "use strict"; // 这里是严格模式
  return this;
}
f2() === undefined; // true
Nach dem Login kopieren

Durch den Aufruf von f.bind(someObject) wird eine Funktion mit demselben Funktionskörper und Umfang wie f erstellt, aber In dieser neuen Funktion wird dies dauerhaft an das erste Argument von bind gebunden, unabhängig davon, wie die Funktion aufgerufen wird.

function add(c, d) {
  return this.a + this.b + c + d;
}
let o = {a: 1, b: 3};
// 第一个参数是作为‘this’使用的对象
// 后续参数作为参数传递给函数调用
add.call(o, 5, 7); // 1 + 3 + 5 + 7 = 16
Nach dem Login kopieren

In Pfeilfunktionen stimmt dies mit dem This des umschließenden lexikalischen Kontexts überein. Im globalen Code wird es auf das globale Objekt

function f(){
  return this.a;
}
let g = f.bind({a:"azerty"});
console.log(g()); // azerty
let h = g.bind({a:'yoo'}); // bind只生效一次!
console.log(h()); // azerty
Nach dem Login kopieren

2.super

gesetzt. Syntax:

super([arguments]); // Rufen Sie den Konstruktor des übergeordneten Objekts auf /parent class Function

super.functionOnParent([arguments]); // Rufen Sie die Methode für das übergeordnete Objekt/die übergeordnete Klasse auf

Bei Verwendung im Konstruktor erscheint das Schlüsselwort super allein und muss verwendet werden wobei der Schlüssel this vor dem Wort verwendet wird. Das Schlüsselwort super kann auch zum Aufrufen von Funktionen für das übergeordnete Objekt

let globalObject = this;
let foo = (() => this);
console.log(foo() === globalObject); // true
Nach dem Login kopieren

new

verwendet werden. Der neue Operator erstellt eine Instanz eines benutzerdefinierten Objekttyps oder eine Instanz eines erstellten Objekttyps. im Objekt mit einem Konstruktor

class Human {
  constructor() {}
  static ping() {
    return 'ping';
  }
}

class Computer extends Human {
  constructor() {}
  static pingpong() {
    return super.ping() + ' pong';
  }
}
Computer.pingpong(); // 'ping pong'
Nach dem Login kopieren

4. Erweiterungssyntax

Sie können Array-Ausdrücke oder Strings auf syntaktischer Ebene während Funktionsaufrufen/Array-Konstruktionen erweitern; Sie können Objektausdrücke auch erweitern, wenn Sie Literalobjekte erstellen Erweitern Sie auf Schlüsselwert-Weise

Verwenden Sie die Erweiterungssyntax, wenn Sie eine Funktion aufrufen

function Car() {}
car1 = new Car()
console.log(car1.color)           // undefined
Car.prototype.color = null
console.log(car1.color)           // null
car1.color = "black"
console.log(car1.color)           // black
Nach dem Login kopieren

Verwenden Sie die Erweiterungssyntax, wenn Sie ein Literal-Array erstellen

function myFunction(x, y, z) { }
let args = [0, 1, 2];
myFunction.apply(null, args);

//展开语法
function myFunction(x, y, z) { }
let args = [0, 1, 2];
myFunction(...args);
Nach dem Login kopieren

Array-Kopie

let parts = ['shoulders','knees']; 
let lyrics = ['head',... parts,'and','toes']; 
// ["head", "shoulders", "knees", "and", "toes"]
Nach dem Login kopieren

Mehrere Arrays verbinden

let arr = [1, 2, 3];
let arr2 = [...arr]; // like arr.slice()
arr2.push(4); 

// arr2 此时变成 [1, 2, 3, 4]
// arr 不受影响
Nach dem Login kopieren
5. Klassenausdruck

Klassenausdruck It ist eine Syntax zum Definieren von Klassen

let arr1 = [0, 1, 2];
let arr2 = [3, 4, 5];
// 将 arr2 中所有元素附加到 arr1 后面并返回
let arr3 = arr1.concat(arr2);

//使用展开语法
let arr1 = [0, 1, 2];
let arr2 = [3, 4, 5];
let arr3 = [...arr1, ...arr2];
Nach dem Login kopieren
6. Funktionsausdruck

Das Funktionsschlüsselwort kann zum Definieren einer Funktion in einem Ausdruck verwendet werden. Sie können auch den Funktionskonstruktor und eine Funktionsdeklaration verwenden Definieren Sie eine Funktion

Heben von Funktionsdeklarationen und Heben von Funktionsausdrücken

: In JavaScript gibt es kein Heben für Funktionsausdrücke. Im Gegensatz zu Funktionsdeklarationen können Sie Funktionsausdrücke nicht verwenden, bevor Sie sie definieren

let Foo = class {
  constructor() {}
  bar() {
    return "Hello World!";
  }
};
let instance = new Foo();
instance.bar(); 
// "Hello World!"
Nach dem Login kopieren

7 .function*expression


function Schlüsselwort kann eine Generatorfunktion innerhalb des Ausdrucks definieren, function Diese Deklarationsmethode (Funktionsschlüsselwort gefolgt von Asterisk) definiert eine Generatorfunktion (Generatorfunktion), die zurückgibt ein Generatorobjekt

Syntax: Funktion* Name([param[, param[, ... param]]]) { Anweisungen }

/* 函数声明 */

foo(); // "bar"
function foo() {
  console.log("bar");
}


/* 函数表达式 */

baz(); // TypeError: baz is not a function
let baz = function() {
  console.log("bar2");
};
Nach dem Login kopieren

Parameter empfangen

function* idMaker(){
  let index = 0;
  while(index<3)
    yield index++;
}

let gen = idMaker();
console.log(gen.next().value); // 0
console.log(gen.next().value); // 1
console.log(gen.next().value); // 2
console.log(gen.next().value); // undefined
Nach dem Login kopieren

Übergabeparameter

function* idMaker(){
    let index = arguments[0] || 0;
    while(true)
        yield index++;
}

let gen = idMaker(5);
console.log(gen.next().value); // 5
console.log(gen.next().value); // 6
Nach dem Login kopieren

Ausdruck

function *createIterator() {
    let first = yield 1;
    let second = yield first + 2; // 4 + 2 
                                  // first =4 是next(4)将参数赋给上一条的
    yield second + 3;             // 5 + 3
}

let iterator = createIterator();

console.log(iterator.next());    // "{ value: 1, done: false }"
console.log(iterator.next(4));   // "{ value: 6, done: false }"
console.log(iterator.next(5));   // "{ value: 8, done: false }"
console.log(iterator.next());    // "{ value: undefined, done: true }"
Nach dem Login kopieren
Verwandte Empfehlungen:

Einführung in Operatoren = = und === in JavaScript_Javascript-Kenntnissen

Javascript-Kernsprache – Ausdrücke und Operator

Das obige ist der detaillierte Inhalt vonEinführung in Operatoren und Ausdrücke in JavaScript. 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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

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)

So implementieren Sie ein Online-Spracherkennungssystem mit WebSocket und JavaScript So implementieren Sie ein Online-Spracherkennungssystem mit WebSocket und JavaScript Dec 17, 2023 pm 02:54 PM

So implementieren Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem. Einführung: Mit der kontinuierlichen Weiterentwicklung der Technologie ist die Spracherkennungstechnologie zu einem wichtigen Bestandteil des Bereichs der künstlichen Intelligenz geworden. Das auf WebSocket und JavaScript basierende Online-Spracherkennungssystem zeichnet sich durch geringe Latenz, Echtzeit und plattformübergreifende Eigenschaften aus und hat sich zu einer weit verbreiteten Lösung entwickelt. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem implementieren.

WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen Dec 17, 2023 pm 05:30 PM

WebSocket und JavaScript: Schlüsseltechnologien zur Realisierung von Echtzeit-Überwachungssystemen Einführung: Mit der rasanten Entwicklung der Internet-Technologie wurden Echtzeit-Überwachungssysteme in verschiedenen Bereichen weit verbreitet eingesetzt. Eine der Schlüsseltechnologien zur Erzielung einer Echtzeitüberwachung ist die Kombination von WebSocket und JavaScript. In diesem Artikel wird die Anwendung von WebSocket und JavaScript in Echtzeitüberwachungssystemen vorgestellt, Codebeispiele gegeben und deren Implementierungsprinzipien ausführlich erläutert. 1. WebSocket-Technologie

So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript Dec 17, 2023 am 09:39 AM

So implementieren Sie ein Online-Reservierungssystem mit WebSocket und JavaScript. Im heutigen digitalen Zeitalter müssen immer mehr Unternehmen und Dienste Online-Reservierungsfunktionen bereitstellen. Es ist von entscheidender Bedeutung, ein effizientes Online-Reservierungssystem in Echtzeit zu implementieren. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Reservierungssystem implementieren, und es werden spezifische Codebeispiele bereitgestellt. 1. Was ist WebSocket? WebSocket ist eine Vollduplex-Methode für eine einzelne TCP-Verbindung.

Verwendung von JavaScript und WebSocket zur Implementierung eines Echtzeit-Online-Bestellsystems Verwendung von JavaScript und WebSocket zur Implementierung eines Echtzeit-Online-Bestellsystems Dec 17, 2023 pm 12:09 PM

Einführung in die Verwendung von JavaScript und WebSocket zur Implementierung eines Online-Bestellsystems in Echtzeit: Mit der Popularität des Internets und dem Fortschritt der Technologie haben immer mehr Restaurants damit begonnen, Online-Bestelldienste anzubieten. Um ein Echtzeit-Online-Bestellsystem zu implementieren, können wir JavaScript und WebSocket-Technologie verwenden. WebSocket ist ein Vollduplex-Kommunikationsprotokoll, das auf dem TCP-Protokoll basiert und eine bidirektionale Kommunikation zwischen Client und Server in Echtzeit realisieren kann. Im Echtzeit-Online-Bestellsystem, wenn der Benutzer Gerichte auswählt und eine Bestellung aufgibt

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

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Dec 17, 2023 pm 05:13 PM

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Einführung: Heutzutage ist die Genauigkeit von Wettervorhersagen für das tägliche Leben und die Entscheidungsfindung von großer Bedeutung. Mit der Weiterentwicklung der Technologie können wir genauere und zuverlässigere Wettervorhersagen liefern, indem wir Wetterdaten in Echtzeit erhalten. In diesem Artikel erfahren Sie, wie Sie mit JavaScript und WebSocket-Technologie ein effizientes Echtzeit-Wettervorhersagesystem aufbauen. In diesem Artikel wird der Implementierungsprozess anhand spezifischer Codebeispiele demonstriert. Wir

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

So verwenden Sie insertBefore in Javascript So verwenden Sie insertBefore in Javascript Nov 24, 2023 am 11:56 AM

Verwendung: In JavaScript wird die Methode insertBefore() verwendet, um einen neuen Knoten in den DOM-Baum einzufügen. Diese Methode erfordert zwei Parameter: den neuen Knoten, der eingefügt werden soll, und den Referenzknoten (d. h. den Knoten, an dem der neue Knoten eingefügt wird).

See all articles