Kann ich ein Objekt mit dem gleichen Namen wie die Klasse in Javascript haben?Kann ich Objekte mit dem gleichen Namen wie Klassen in Javascript haben?
Antwort
Es gibt keine Klassen per se in Javascript, nur Methoden, die Objekte erstellen.
Um Ihre Frage direkt zu beantworten, ja und nein. Sie können eine Funktion erstellen, die Ihr Objekt erstellt, aber sobald Sie eine Variable mit demselben Namen haben, wird die Funktion zerstört.
es keinen Unterschied zwischen
function bob() {
//code goes here
this.name = "bob";
}
und
var bob = function() {
//code goes here
this.name = "bob";
}
Was passiert, wenn Sie eine Variable mit dem Namen bob wie erklärt würde dann geschehen ist:
var bob = new bob();
In diesem Fall wäre die Funktion bob c Das Objekt wurde erstellt, und die Funktion Bob wurde durch den neuen variablen Bob ersetzt.
Wenn Sie einen Singleton erstellen möchten, dann können Sie auch einen Verschluss wie folgt verwenden:
var bob = new (function() {
//code goes here
this.name = "bob";
})();
Sie können den gleichen Namen für die Klasse verwenden und Variable, ja. Starten Sie die Klasse jedoch mit einem Großbuchstaben und behalten Sie die Variablennamen in Kleinbuchstaben. (Also eine Klasse Bob und Variable Bob.)
Javascript ist Groß-und Kleinschreibung, so dass es den Unterschied kennt. Für Sie würden beide nur das Gleiche lesen.
Was ist mit jQuery: $('string')
, eine Funktion so weit ich kann sagen, und $.ajax
, eine Klasse mit einer Methode namens Ajax.
Funktion namens $
und Klasse mit dem Namen $
. Ich weiß, dass ich falsch liege, aber so sieht es aus.
- 1. Definieren Sie zwei Objekte mit dem gleichen Namen in Javascript
- 2. Importieren Sie Klassen mit dem gleichen Namen
- 3. Wie kann ich zwei Klassen die gleichen Variablendefinitionen haben
- 4. Javascript Vererbung und Methode mit dem gleichen Namen
- 5. Wie bewertet Javascript Methoden mit dem gleichen Namen?
- 6. Namespace und Klasse mit dem gleichen Namen?
- 7. Kann ich 2 Aktionen mit dem gleichen Namen haben, 1 für GET und 1 für POST?
- 8. Funktion und Variable mit dem gleichen Namen
- 9. Wie mache ich PHP stdClass Objekt mit dem gleichen Namen?
- 10. Liste der Objekte. Finden Sie zwei Objekte mit dem gleichen Namen
- 11. Merge Datenrahmen Zeilen mit dem gleichen Namen
- 12. Sollte eine Klasse den gleichen Namen wie der Namespace haben?
- 13. Jython überschreiben Methode mit dem gleichen Namen
- 14. Gruppierung statische Klassen mit dem gleichen Verhalten
- 15. Wie testet man zwei Objekte unterschiedlicher Klassen mit gleichen Daten?
- 16. Blätter, die fast den gleichen Namen haben
- 17. Zwei generische Methoden mit dem gleichen Namen
- 18. Excel.Workbook.SaveAs (...) mit dem gleichen Namen Datei
- 19. Wie wählt man Variablen (nicht Text) mit dem gleichen Namen?
- 20. Gesamtzahl der gleichen Objekte in Javascript
- 21. Kann nicht zwei Vorgänge im selben Vertrag mit dem gleichen Namen (Async & Non) haben
- 22. iVar Getter/Methode mit dem gleichen Namen?
- 23. Postgres: zwei Wörterbücher mit dem gleichen Namen
- 24. Put-Reihen mit dem gleichen Namen zusammen
- 25. Android gradle Module mit dem gleichen Namen
- 26. benannte Parameter mit dem gleichen Namen
- 27. Mehrere Eingänge mit dem gleichen Namen
- 28. abrufen alle Felder mit dem gleichen Namen und Typ C#
- 29. Wie kann ich Jahre zu mehreren Drop-Downs mit dem Namen hinzufügen, mit Javascript?
- 30. Haskell: Wie kann ich "2 Funktionen mit dem gleichen Namen" verwenden?
so var bob = neuer bob(); ist programmatisch falsch? – Rakesh
ist es möglich zu tun. Die Variable bob wird nun ein Objekt sein, das von der Funktion bob erzeugt wurde. Danach ist die Funktion bob nicht mehr zugänglich (für Aufruf oder Instanziierung) –
@rakesh: nur um hinzuzufügen, wann immer du einen Variablennamen erstellst, der genau wie dein Funktionsname ist, musst du wirklich fragen wenn es nötig ist. Es ist üblich, Klassen wie SelectorPanel zu benennen und Instanzen mit dem Namen applicationSelectorPanel oder layoutSelectorPanel (oder nur applicationPanel und layoutPanel) zu erstellen. Die Klasse sollte den Typ (oder die Klasse) des zu erstellenden Objekts definieren. Der Variablenname sollte nur eine sinnvolle Bezeichnung für das Objekt geben. –