Unterstrich als Funktionsname
hotti
- javascript
neulich sah ich eine Funktion:
function _(el){
return document.getElementById(el);
}
was Tipparbeit verringert:
_('myID').innerHTML = 'irgendwas';
Was geht hier genau vor?
neulich sah ich eine Funktion:
function _(el){
return document.getElementById(el);
}
>
> was Tipparbeit verringert:
>
> ~~~javascript
> _('myID').innerHTML = 'irgendwas';
>
Was geht hier genau vor?
Na, genau das, was da steht. Eine Funktion namens '_' wird aufgerufen, welche wiederum eine Funktion aufruft und dessen ergebnist zurück gibt. Das Ergebnis ist entweder ein DOM-Element oder null
.
MfG
bubble
hi,
Na, genau das, was da steht. Eine Funktion namens '_' wird aufgerufen, welche wiederum eine Funktion aufruft und dessen ergebnist zurück gibt. Das Ergebnis ist entweder ein DOM-Element oder
null
.
Oh mann, der Typ im youtubetutorial hat das so dargestellt, als wäre das was total Mystisches und ein cooler Hack... also besser nicht machen und Funktionsnamen verwenden, die ein bischen aussagekräftiger sind oder gleich das hinschreiben, was genau gemacht werden soll, auch wenns mal ein bischen länger dauert ;)
Horst
Oh mann, der Typ im youtubetutorial hat das so dargestellt, als wäre das was total Mystisches und ein cooler Hack... also besser nicht machen und Funktionsnamen verwenden, die ein bischen aussagekräftiger sind oder gleich das hinschreiben, was genau gemacht werden soll, auch wenns mal ein bischen länger dauert ;)
Wieso?
Diese Funktion vereinfacht das a und o des Javascripts. Deshalb hat jedes Framework diese Art von Funktion. Der Funktionsname ist dabei immer sehr kurz und somit nichtssagend. In Jquery ist es z.B. $. In anderen Frameworks ist es entweder auch $ oder irgendwas ähnlich kurzes.
Gruß
T()
hi,
Wieso?
Diese Funktion vereinfacht das a und o des Javascripts. Deshalb hat jedes Framework diese Art von Funktion.
Stimmt, im MagentoFW ist _ der Übersetzer und für mehrsprachige Ausgaben zuständig. Naja, ich hätte diese Methode wenigstens tr() genannt ;)
Horst
Hallo,
_ ist ein gültiger JavaScript-Identifier. Längerer Artikel zum Thema:
Valid JavaScript variable names
_ wird allerdings von Underscore.js bzw. Lo-Dash verwendet.
$ und $$ sind eher üblich für solche DOM-Querying-Funktionen. Siehe jQuery, Mootools und Prototype.
Mathias
Hallo Mathias,
_ ist ein gültiger JavaScript-Identifier. Längerer Artikel zum Thema:
Valid JavaScript variable names
Wow, vielen Dank!!!
<quote>An Identifier is an IdentifierName that is not a ReservedWord.</quote>
Wenn ich das richtig verstehe (also den Artikel), entspricht das dem Type-Globbing im Perl.
*foo = sub {}; # typeglob
Ich schaffe mir einen Identifier mit dem Namen 'foo' ('foo' ist kein reserviertes Wort) und lade diesen Identifier in die Symboltabelle. Ein
$self->foo;
versteht der Interpreter als Aufruf einer Funktion.
Horst