2016-07-06 11 views
-7

Ich bin sehr neu in der Front-End-Programmierung und ich verstehe manchmal nicht die Bedeutung der Abkürzungen von Javascript und Jquery. Ich habe eine Code-Vorlage, um zu arbeiten, und ich verstehe nicht klar, wie es funktioniert, die wie folgt sind.Javascript oder JQuery nicht zu verstehen

Wirst du mir bitte helfen, durch Artikel zu verstehen, diese Definitionen zu verstehen, die in der js-Datei sind.

Vielen Dank im Voraus.

Ich habe so etwas. Ich will nur wissen, wie es funktioniert! Ich bekomme keine klare Vorstellung.

for (var e = document.getElementsByTagName("div"), t = 0; t < e.length; t++) 
    "fish" == e[t].getAttribute("class") && fishArray.push(e[t]) 

2.

"vertical" == layersMovement ? (balloonDiv.style.left = o + "px", robbyContainerDiv.style.left = n + "px") : "not moving 1" == layersMovement || 
"not moving 2" == layersMovement ? (robbyContainerDiv.style.left = n + pageVerticalPosition - (pageDiv.offsetHeight - containerDiv.offsetHeight - distanceBetweenRobbyAndBalloon) + "px", 

balloonDiv.style.left = o + "px") : (balloonDiv.style.left = layerHorizontalArray[layerHorizontalArray.length - 1].offsetLeft + layerHorizontalArray[layerHorizontalArray.length - 1].offsetWidth - .5 * (containerDiv.offsetWidth + balloonDiv.offsetWidth) + "px", 
robbyContainerDiv.style.left = "50%") 
+0

Bitte formatieren Sie Ihren Code, damit wir Ihnen helfen können – Li357

+0

Um ehrlich zu sein, ist dieser Code sehr schlecht geschrieben und einige davon sind nutzlos und/oder macht keinen Sinn.Wir kennen nicht einmal das Ziel dieses Codes, wie würden wir wissen, was es tun soll oder ob es überhaupt richtig ist? –

+0

Schauen Sie sich diese Seiten genau an: [jQuery] (http://www.w3schools.com/jquery/jquery_ref_selectors.asp) und [javascript] (http://www.w3schools.com/jsref/default.asp) ;) –

Antwort

0

es zu saubereren Code Transforming hilft Ihnen zu verstehen:

for (var e = document.getElementsByTagName("div"), t = 0; t < e.length; t++) "fish" == e[t].getAttribute("class") && fishArray.push(e[t]) 

cleanning den Code:

var e = document.getElementsByTagName("div"); 

==> e definieren alle div-Elemente für jedes div Element in e

for (var t = 0; t < e.length; t++) 

==> Schleife zu halten. Der erste Abschnitt von for-Anweisung kann zum Initialisieren von Variablen verwendet werden. Zum Beispiel: for (var a = 0, b = 2, c = 3; a < b; a++) Dies ist der Grund, warum der ursprüngliche Code innerhalb der for Anweisung definiert wurde.

"fish" == e[t].getAttribute("class") && fishArray.push(e[t]) 

==> a & & b wertet ein und falls das Bewertungsergebnis wahr ist, b durchgeführt wird. Es ist eine Abkürzung für if (a) { b; }. Wenn in dieser Anweisung das Klassenattribut des aktuellen div gleich 'fish' ist, drücken Sie den Verweis des div auf fishArray array.

var e = document.getElementsByTagName("div"); 
for (var t = 0; t < e.length; t++) { 
    var currentDiv = e[t]; 
    if ("fish" == currentDiv.getAttribute("class")) { 
     fishArray.push(e[t]); 
    } 
} 

Der zweite Code:

"vertical" == layersMovement ? (balloonDiv.style.left = o + "px", robbyContainerDiv.style.left = n + "px") : "not moving 1" == layersMovement || "not moving 2" == layersMovement ? (robbyContainerDiv.style.left = n + pageVerticalPosition - (pageDiv.offsetHeight - containerDiv.offsetHeight - distanceBetweenRobbyAndBalloon) + "px", balloonDiv.style.left = o + "px") : (balloonDiv.style.left = layerHorizontalArray[layerHorizontalArray.length - 1].offsetLeft + layerHorizontalArray[layerHorizontalArray.length - 1].offsetWidth - .5 * (containerDiv.offsetWidth + balloonDiv.offsetWidth) + "px", 
robbyContainerDiv.style.left = "50%") 

Erläuterung: Der zweite Code enthält verschachtelte Bedingungen

Mit anderen Worten kann der Code sauberer wie folgt geschrieben werden.
Folgendes ist: a ? b : c entspricht: if (a) { b; } else { c; }.
Ich kann schreiben a, b, c;, um eine, dann b und dann c (a; b; c;) auszuführen.
Mit diesen beiden Regeln nehmen Sie diesen Block Code und schreiben Sie es neu, so dass Sie es verstehen konnten.

BTW, ich glaube, Sie suchen auf minified code.

Hoffe, dass hilft!

+0

Ich glaube nicht, dass es sich um einen verfälschten Code handelt. Unter Berücksichtigung der Leerzeichen und Variablennamen. –

+0

"Fisch" == e [t] .getAttribute ("Klasse") && fishArray.push (e [t]) Was ist, wenn ich || habe? zwischen.?? –

+0

a || b führt b nur aus, wenn a wahr ist. Andernfalls wird b nicht ausgeführt. – Naor