Heim  >  Artikel  >  Web-Frontend  >  Nutzungsanalyse des Dollarzeichens $ in Prototyp-Framework_Javascript-Fähigkeiten

Nutzungsanalyse des Dollarzeichens $ in Prototyp-Framework_Javascript-Fähigkeiten

WBOY
WBOYOriginal
2016-05-16 15:18:461159Durchsuche

Das Beispiel in diesem Artikel beschreibt die Verwendung des Dollarzeichens $ im Prototyp-Framework. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Prototype ist ein wichtiges Werkzeug für die objektorientierte Implementierung und ein gutes Framework für JavaScript.
Jeder, der jquery verwendet, weiß, dass es in jquery ein $-Dollar-Zeichen gibt und dass es auch $ im Prototyp gibt. Was ist der Unterschied zwischen ihnen?

1. Verwendung von $() im Prototyp

Prototype wird als $("test") oder $$("#test") geschrieben, was document.getElementById("test");
in js entspricht jqueryp-Schreibmethode $("#test"), die auch document.getElementById("test");

in js entspricht

2. Verwendung von $$() im Prototyp

JQuery-Schreiben von $("div") entspricht document.getElementsByTagName('div')
Wenn der Prototyp auch einfach alle div-Elemente auf der Seite abrufen möchte, kann er nicht so geschrieben werden.
Die Art und Weise, einen Prototyp zu schreiben, ist $("div"), was document.getElementById("div")
entspricht Die Art und Weise, einen Prototyp zu schreiben, ist $$("div"), was document.getElementsByTagName('div')
entspricht Die prototypische Schreibmethode $$("input[value=tank]") ruft die Beschriftung ab, deren Eingabefeldwert tank auf der Seite ist. Sie ähnelt tatsächlich jquery, außer dass es ein zusätzliches $-Symbol

gibt

3. Verwendung von $A() im Prototyp

$A wird hauptsächlich verwendet, um jede Sammlung, die als Array verwendet werden kann (z. B. eine NodeList, die von vielen DOM-Methoden zurückgegebene HTMLCollection oder die Argumenteigenschaft eines Funktionsobjekts), in ein echtes Array-Objekt zu konvertieren. Die folgenden vier Methoden können das div-Tag auf der Seite

ausblenden
$A($$('div')).each(Element.hide); 
$A($$('div')).map(Element.extend).invoke("hide"); 
//从思想上来看,下面二种写法,我在用jquery时,也经常用 
$A($$('div')).each(function(name,index){ 
 name.style.display='none'; 
 alert(name.innerHTML); 
 }) 
 $A($$('div')).each(function(name,index){ 
 $(name).hide(); 
}) 

Wenn im Beispiel TypeError: element.style ist undefiniert { message="element.style ist undefiniert", mehr...} erscheint, aktualisieren Sie bitte Ihre Prototypversion

4. Verwendung von $F() im Prototyp

Ich persönlich denke, dass die Verwendung von $F dazu dient, das Abrufen von Formulardaten zu erleichtern, aber es ist relativ einfach, da es nur per ID abgerufen werden kann

8a21ecc55e46a115916a47e2e30390b2
$F("name") Richtig

df613966d3e0cbc3aae824c952059f60
$F("name") Falsch, TypeError: Element ist null { message="element ist null", mehr...}

5. Verwendung von $H() im Prototyp

Wenn Sie ein Objekt als Parameter der Funktion übergeben, gibt $H das Objekt in das proprietäre Hash-Objekt eines Prototyps ein. $H fühlt sich an wie ein Konverter, der eine Situation verändernde Wirkung auslöst

$H({name:'tank',sex:1,height:'170cm'}).toArray()
[["name", "tank"], ["sex", 1], ["height", "170cm"]]
$H({name:'tank',sex:1,height:'170cm'}).toQueryString()
"name=tank&sex=1&height=170cm"

6. Verwendung von $R() im Prototyp

Die $R-Funktion und der ursprüngliche Konstruktor haben genau die gleichen Parameter: Start und Ende stellen den unteren Grenzwert bzw. den oberen Grenzwert dar (die Typen der beiden Parameter müssen konsistent sein), und exklusiv gibt an, ob der obere ausgeschlossen werden soll Grenzwert (Parameterende) . Der obere Grenzwert ist standardmäßig nicht ausgeschlossen.

Instanzen von $R beschreiben eine Reihe von Werten, die sich gemäß bestimmten Regeln ändern, z. B. Zahlen, Text oder andere Typen, die die Ableitung benachbarter Werte semantisch unterstützen

Es fällt den Leuten am einfachsten, sich daran zu erinnern, wenn sie es anhand von Beispielen erklären können

$A($R("a","z",true)).join(',') //加了参数true 
"a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y" 
$A($R("a","z")).join(',') //没有加 
"a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z" 

$R leitet ein $R-Objekt gemäß den Regeln ab, $A wandelt das Objekt in ein Array um und verwendet das Vorzeichen, um das Array in einen String umzuwandeln.

$R(0, 10).each(function(value){ 
 alert(value*value); 
}); 
//结果和上面的一样的,但是each解释的对像是不一样的。 
$A($R(0, 10)).each(function(value){ 
 alert(value*value); 
}); 

Wenn ein solcher Fehler gemeldet wird, TypeError: value.succ is not a function { message="value.succ is not a function", more...}, bitte aktualisieren Sie

7. Verwendung von $w() im Prototyp

$w konvertiert einen String mit Leerzeichen als Trennzeichen in ein Array. Die Funktion von root php ist dieselbe und gezielter.

$w("aa bb").join(',')

Wenn ein solcher Fehler gemeldet wird, ReferenceError: $w ist nicht definiert { message="$w ist nicht definiert", mehr...}, bitte aktualisieren

Ich hoffe, dass dieser Artikel für alle hilfreich ist, die sich mit der JavaScript-Programmierung befassen.

Stellungnahme:
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