Ich fühle, dass Ihre ursprüngliche Ratte (siehe Versionsgeschichte der Frage) eine Antwort verdient.Es ist sehr gegen den Geist der Programmierung und Informatik, meiner Meinung nach, eine Sprache gebrochen zu erklären, nur weil Sie nicht können make it go.
Bitte verzeihen Sie mir, wenn ich Sie beleidige, wenn ich sage, dass ich überrascht bin, dass sie Leuten mit solch paradigmatischer Ignoranz CS-Abschlüsse geben können. Als ich vor ungefähr 5 Jahren zur Schule ging, habe ich meine Aufgaben in 6 verschiedenen Sprachen erledigt: MIPS, Verilog, Scheme, Java, C/C++ und Python. Wir verwendeten viele Paradigmen, einschließlich funktionaler und OOP, aber auch anderer Stile. Wenn Sie diesen verschiedenen Perspektiven, von denen keine neu sind, nicht ausgesetzt waren, ist Ihre Ausbildung nicht vollständig.
Ist Ihnen aufgefallen, dass das, was Sie als kanonische OOP betrachten, ist, nur eine Formulierung der OOP-Prinzipien? In Javascript-Objekten instanziiert von einem "Prototyp", und es ist nicht das gleiche wie eine Klasse. Wenn Sie erwarten, dass es wie eine klassenbasierte OOP-Sprache funktioniert, wird es Ihre Erwartungen nicht erfüllen. Java und C++ sind nicht der Goldstandard von OOP, noch ist OOP das All-End-Programm.
Wenn man bedenkt, die erstaunlichen Anwendungen, die in Javascript in den letzten 3-5 Jahren geschrieben wurden, ist es erstaunlich, dass eine Person eine Anweisung wie folgt machen:
Man würde denken, werden wir unser Bestes gelten würde Codierung Praktiken in den letzten sechs Jahrzehnten hinein. Nein natürlich nicht. Was haben wir? Funktionen innerhalb von Funktionen ... etwas seltsame Bastardisierung von Klassen. Komplett ohne Konsistenz ...
zu sagen, dass trotz der glänzenden Leistungen von Teams brillanter Entwickler Javascript gemacht, wird die Sprache, weil gebrochen Sie Schwierigkeiten ist es zu verstehen haben, na ja, erstaunlich.
Bitte beachten Sie, dass Sie, anstatt der Sprache fehlerhaft zu sein, möglicherweise nicht die notwendige Perspektive haben, um sie zu verstehen.
PS, Sie erwähnten, dass Sie "JavaScript zu AVOID FLASH verwenden!" Es scheint, als ob Sie eine sehr schlechte Strategie haben, um Fakten zu ermitteln, da Javascript und Actionscript beide dieselbe Spezifikation implementieren: ECMAScript.
Es ist nichts falsch mit dieser Frage, es überrascht mich, dass die Leute h Ich habe Ihnen schon einige Abstimmungen gegeben. –
@John: Überprüfen Sie den Bearbeitungsverlauf. Ich hoffe, ich habe die Frage ausreichend bearbeitet, um sie vernünftig zu gestalten. –
Sie können 'classFunction2()' nicht aufrufen, wenn es sich um eine Methode von 'classFoo()' handelt. Sie müssen 'this.classFunction2()' haben, wenn Sie innerhalb von 'classFoo()' sind. – qw3n