In PHP zumindest in meiner Instanz ist es sehr üblich, magische Methoden zu verwenden - zumindest bei der Definition Ihrer Kernklassen, von denen die meisten von allem anderen sich erstrecken.Javascript Magic Methoden
Magic Methoden in PHP verhalten sich in einer besonderen Weise von der Norm Ihrer normalen Methoden. Zum Beispiel eine der häufigsten Methoden in meinem Buch zu spielen wäre die __construct()
Das Konstrukt wird jedes Mal ausgeführt, wenn eine Klasse geladen wurde. So zum Beispiel, wenn Sie Ihre Klasse einführen selbst wollte könnten Sie so etwas tun:
<?php
class Person
{
function __construct($name)
{
$this->name = $name;
$this->introduceYourself();
}
public function introduceYourself()
{
//if $this->name then echo $this->name else echo i dont have name
echo $this->name ? "hi my name is " . $this->name : "error i dont have name";
}
}
$dave = new Person('dave');
Normalerweise würden Sie nicht etwas, auf das Konstrukt passieren.
Einige andere, die ich über halb häufig laufen sind:
__call(), die Sie die Standard Art und Weise ändern können, die Methoden aufgerufen werden. Ein gutes Beispiel ist eine Überschreibung, mit der Sie Attributwerte abrufen können, wenn Sie eine Methode verwenden, die mit dem Wort get beginnt oder Attributwerte setzt, wenn ein Methodenaufruf mit dem Wortsatz beginnt.
__get() verwendet als Überlader für Klassenattribute, ich benutze nicht, aber jemand könnte interessiert sein.
__set() verwendet als Überlader für Klassenattribute, ich benutze nicht, aber jemand könnte interessiert sein.
__destruct() verwende ich auch nicht, aufgerufen, sobald keine anderen Verweise auf ein bestimmtes Objekt oder in irgendeiner Reihenfolge während der Abschaltsequenz vorhanden sind.
Die Frage
Gibt es magische Methoden wie diese innerhalb von Javascript?
Gibt es versteckte Juwelen, die ein neuer JavaScript-Programmierer beachten sollte, wie die oben für php beschriebenen?
Mögliches Duplikat von [this] (http://stackoverflow.com/questions/6303896/magic-methods-in-javascript) Schauen Sie auch [hier für \ _ \ _ noSuchMethod \ _ \ _] (http://stackoverflow.com/questions/994143/javascript-getter-for-all-properties). – ComFreek
Möglich, aber niemand kümmerte sich darum, diejenigen zu beantworten oder zu bestätigen oder abzulehnen, nach denen ich gezielt suche. Oder eine "emulierte" Lösung. – ajameswolf