2016-07-27 4 views
0

Ich möchte mein Skript effizienter machen und während ich mein Skript ansehe, das ziemlich groß ist, merke ich, dass nT.dS[v] oft wiederholt wird. Ich habe versucht, es auf mehrere Arten neu zu definieren, aber keiner hat funktioniert, also habe ich mich gefragt, ob jemand von euch einen Weg kennen würde.Javascript - Kürzere IDs für effizienteres Skript

Ich brauche die Verkürzung, um global zu sein. Wie ich demonstriere, ist Wert bereits verkürzt (und funktioniert gut), aber vielleicht kann es in einer anderen Verkürzung kombiniert werden, um die Formular-ID nT und die Eingabe-ID dS, wie dies im Mittelpunkt der Aufmerksamkeit im Programm ist.

<script id="jsGlobals"> 
var v = 'value'; // [v] - Global variable in HTML 
... 
... 
... 
</script> 

<script id="jsCompute"> 
function compute(nT) { 
var sTr = nT.dS[v]; // nT is formID and dS is inputID. [v] replaces .value 
var q = sTr.toUpperCase(); 
    if(q == "1") nT.dS[v] = dS116[v] //dS116 in input 
    if(q == "2") nT.dS[v] = dS117[v] //ds117 is input 
else nT.dS[v] = eval(nT.dS[v]) ; 
} 

some other functions 

some other functions 
</script> 
+2

Re * „Hey Jungs (und Mädchen) :)“ * zwei Dinge: 1. Bitte werfen nicht „Mädchen“ als Bürger zweiter Klasse, indem sie in Klammern setzen, es ist eine Form von Casual Ausschluss, der nicht nützlich ist. 2. Wir tun nicht "Hallo" und "Danke" auf SO. –

+0

Es scheint, dass Ihr Code derzeit funktioniert und Sie versuchen, ihn zu verbessern. Im Allgemeinen sind diese Fragen für diese Site zu eigenartig, aber Sie könnten mehr Glück bei [CodeReview.SE] (// codereview.stackexchange.com/tour) finden. Denken Sie daran, [ihre Anforderungen] (// codereview.stackexchange.com/help/on-topic) zu lesen, da sie etwas strenger sind als diese Site. – FrankerZ

+0

Bitte beantworten Sie meine Fragen nicht so, T.J. Ich habe bessere Dinge zu tun, als den Kerl im Plural zu diskutieren, nicht in englischer Sprache und den Mangel an Höflichkeit. Persönlich schätze ich einige allgemeine Höflichkeit, wenn Leute Zeit damit verbringen, zu antworten, also wenn es nicht in den Regeln hier ist, entferne oder schreibe meine Fragen nicht als unhöflich ab, und vervollständige es mit der Behauptung, ich würde Frauen als zweite Klasse besetzen. Tu es einfach nicht. –

Antwort

0

Ok, ich habe nicht gelöst, wie [v] (kurz für .value) mit id in Skript global kombiniert zu übernehmen, aber die doppelten IDs zu lokalen Bereich zu verkürzen hat gut funktioniert und gibt eine 20% ige Reduktion. Schreiben Sie das einfach für andere, die es nützlich finden könnten.

Also kurz gesagt kann ich a =nT.dS; nach Funktion hinzufügen beginnen und dann schreiben: if(q == "1") a[v] = dS116[v] statt: if(q == "1") nT.dS[v] = dS116[v] Vanille: if(q == "1") nT.dS.value = dS116.value

Warum ist das wichtig? Nun, im Grunde können Sie eine Million Fragen und Antworten hinzufügen in einer einzigen Datei, Cross-Browser arbeiten, HTML5 ... und immer noch bleiben unter ein Megabyte oder zwei. Erstellen Sie Ihre eigene (feste oder Eingabeauswahl) Suchmaschine ohne SQL. Diese 20% summieren sich schnell zu einer Menge von Millisekunden beim Laden und Kilobyte im Dateigrößenspeicher.

Textantwort statt einer lokalen Benutzereingabe Antwort gespeichert (oder Roboter-Eingang) würde wie folgt aussehen:

if(q == "test") a[v] = "Hell yeah! Love it!" 

Vanille würde wie folgt aussehen:

if(q =="test") nT.dS.value ="Hell yeah! Love it!" 

und es sei denn, i a[v] mischen bis zu einem Buchstaben, es wird nicht viel effizienter.

Genießen