Heim > Web-Frontend > js-Tutorial > Hauptteil

Beispiele für Funktionen und Objekte mit doppelten Namen in JavaScript

黄舟
Freigeben: 2017-10-03 05:59:49
Original
1267 Leute haben es durchsucht

Kürzlich stellte ein Kollege eine Frage: Was würde passieren, wenn die Funktion und das Objekt in js denselben Namen hätten? Dieses Problem verdient es, ausführlich besprochen zu werden. Dieser Artikel stellt Ihnen hauptsächlich die relevanten Informationen zu Funktionen und Objekten mit doppelten Namen in JavaScript vor.

Vorwort

In diesem Artikel werden hauptsächlich relevante Inhalte zu Funktionen und Objekten mit doppelten Namen in JavaScript vorgestellt und als Referenz und Studium bereitgestellt Im Folgenden gibt es nicht viel zu sagen. Werfen wir einen Blick auf die ausführliche Einführung.

JavaScript ermöglicht die wiederholte Deklaration von Variablen, und die spätere Deklaration überschreibt die vorherige.


var a = 1;
var a = 'x';
console.log(a);
//输出'x'
Nach dem Login kopieren

JavaScript ermöglicht die wiederholte Definition von Funktionen.

JavaScript kennt nicht das Konzept der Überladung. Es unterscheidet Funktionen nur anhand ihrer Namen. Die nach

definierte gleichnamige Funktion überschreibt unabhängig von den Parametern die vorherige.


function test() {
 console.log("test");
}
test(); //输出 "test arg0 + undefined"

function test(arg1) {
 console.log("test arg" + arguments.length + " + " + arg1);
}
test(1,2); //输出 "test arg2 + 1"
Nach dem Login kopieren

Wenn die Anzahl der tatsächlichen Parameter kleiner ist als die formalen Parameter, sind die verbleibenden Standardzuweisungen undefiniert; wenn mehr als die tatsächlichen Parameter übergeben werden die formalen Parameter, dann werden alle übergeben, aber es gibt keine entsprechenden formalen Parameter, auf die verwiesen werden kann (Sie können jedoch Argumente verwenden, um die verbleibenden Parameter abzurufen)


function test(arg1) {
 for(var i=0; i<arguments.length; i++) {
 console.log(arguments[i]);
 }
}
test(1,2); //输出 1 2
Nach dem Login kopieren

Wenn eine Variable denselben Namen wie eine Funktion hat, wird die Variable wirksam

Dies beinhaltet das Vorparsen von Variablen und Funktionen:

- Variablendeklarationen werden oben platziert und Funktionsdeklarationen werden ebenfalls oben platziert und vor Variablen deklariert.

- Wenn die Deklaration einer Variablen und die Zuweisungsanweisung zusammen geschrieben werden, teilt die JS-Engine sie in zwei Teile auf: Deklaration und Zuweisung. Die Deklaration wird oben platziert und die Zuweisung bleiben an der ursprünglichen Position.

- Deklarierte Variablen werden nicht erneut deklariert.


var a = 100;
function a() {
 return "function";
}
console.log(a); //输出 100
console.log(a()); 
/*
报错
Uncaught TypeError: a is not a function
 (anonymous function) @test.html:9
*/
Nach dem Login kopieren

Es gibt zwei Arten von Funktionen in JS, eine ist eine normale Funktion und die andere ist ein Funktionsobjekt. Das Folgende ist ein „Funktionsobjekt“, das tatsächlich eine anonyme Funktion deklariert und dann der Variablen die Init-Methode der Funktion zuweist.


var a = 100;
var a = function() {
 return "function";
}
console.log(a);
/* 
输出
function() {
 return "function";
}
*/
console.log(a()); //输出 "function"
Nach dem Login kopieren

Die Funktion hat den gleichen Namen wie die interne Variable

Definieren Sie eine gewöhnliche Funktion , also in der Fenstervariablen Definieren Sie als Nächstes einen Schlüssel, dessen Name der Funktionsname und dessen Wert die Adresse der Funktion ist. Dies innerhalb der Funktion zeigt auf das Fensterobjekt.


function a() {
 console.log(this); //输出 window{...}
 this.a = 1;  //即 window.a = 1,此时window下的function a已经被该变量覆盖了。
 var a = 5;  //下面的这几个变量都是局部变量,仅在花括号范围内有效。 
 a = 10;
 var v = "value"
 return "function";
}
console.log(a);  //输出 function a {...}
console.log(a()); //输出 "function"
console.log(a);  //输出 1
console.log(v);
/*
输出
Uncaught ReferenceError: v is not defined
 (anonymous function) @ mycolor.html:15
*/
Nach dem Login kopieren

Zusammenfassung

Das obige ist der detaillierte Inhalt vonBeispiele für Funktionen und Objekte mit doppelten Namen in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!