1. ES5-Ära
var
Funktion
Wir wissen, dass JS nicht wie andere Sprachen wie Java und Ruby das Schlüsselwort var verwendet, um Variablen zu benennen. Natürlich bedeutet eine schwache Typisierung, dass das Die Sprache hat keinen Typ. Ihr Typ wird zur Laufzeit bestimmt (abhängig vom Operator). In anderen Sprachen wie Java umfassen die Schlüsselwörter zum Deklarieren von Zahlen int, float, double und long.
// JS var num1 = 10; // 整数 var num2 = 10.1; // 浮点数 var str = 'John'; // 字符串 var boo = false; // 布尔 var obj = {}; // 对象
// Java int num1 = 10; double num2 = 10.2; String str = "John"; Boolean boo = false;
Zusätzlich zur Verwendung von var zum Generieren von Bezeichnern in JS gibt es auch ein Funktionsschlüsselwort, das ebenfalls Bezeichner generieren kann. Der Bezeichner einer Funktionstypdeklaration kann eine Funktion, Methode oder ein Konstruktor (Klasse) sein.
// functions function fetchData(url, param) { // ... } // methods var obj = { getUrl: function() { } }; // class function Person(name, age) {} Person.prototype = { }
2. ES6-Ära
var
Funktion
lass
const
Klasse
Wie Sie sehen, fügt ES6 drei Schlüsselwörter let/const/class hinzu, die Bezeichner generieren können. let/const wird zum Deklarieren von Variablen und class zum Definieren von Klassen verwendet.
// 定义普通变量 let name = 'John'; for (let i = 0; i < arr.length; i++) { } if (boo) { let obj = {}; ... } // 定义常量 const PI = 3.1415926; const $el = $('.nav'); // 定义类 class Point { constructor(x, y) { this.x = x; this.y = y; } toString() { return '('+this.x+', '+this.y+')'; } }
In der ES6-Ära können Sie sich vorstellen, dass unser Codierungsstil „weniger var und mehr let“ sein sollte. Sowohl let als auch const haben einen Gültigkeitsbereich auf Blockebene und es wird keine Variablenheraufstufung stattfinden. Bei der Deklaration einer Klasse wird auch das Schlüsselwort class verwendet, das einige der Aufgaben der Funktion teilt.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er gefällt Ihnen allen.