2016-07-20 25 views
0

Ich möchte die Ausgabe der Funktionen ändern (nur sagen RANDOM Beispiele, entschuldigen uns für die Code-Fehler):Ändern Funktion Ausgang - Inspizieren Quelle - Javascript- HTML - Google Chrome

ng-if=!pfile.isgame 
ng-if=! pfile.examplefile 

-von falsch wahr bevor es überhaupt die Seite hat, besteht die Möglichkeit, irgendeinen Code auf der Seite fallen zu lassen. Wie kann ich es so machen, dass ich Code an die Seite an den Anfang der Seite anhängen kann, um zu erzwingen, dass jede Ausgabe dieser bestimmten Funktionen auf einer Live-Seite wahr wird?

Dies ist definitiv möglich, ich bin mir nicht sicher, wo die Funktion wäre aber die Elemente, die Sie tatsächlich die Argumente auf der Seite sehen können und es nicht serverseitig überhaupt aussieht, es ist nur, wie es getan wird. Ich habe viele Artikel gelesen, aber viele davon haben mir nicht wirklich geholfen.

Ich bin bewusst, Event Listener Breakpoints, es ist nur das Problem, wenn ich die richtige auswählen.

Vielen Dank und ich schätze es wirklich sehr, wenn Sie bitte die Erklärung für mich dummen können, obwohl ich HTML und JavaScript zu einem OK-Standard verstehe, bin ich immer noch ein massiver Anfänger. Das wollte ich schon immer ausprobieren.

Antwort

1

Hoffentlich habe ich Ihre Frage richtig verstanden. Es gibt ein paar Optionen und die Antwort hängt davon ab, ob die Funktionen Deklarationen oder Ausdrücke sind.

Wenn es sich um Deklarationen handelt, werden sie beim ersten Durchlauf an die Spitze geholt, sodass die Funktion bereits zu dem Zeitpunkt, zu dem der Code ausgeführt wird, bereits vorhanden ist und Sie ihn vorzeitig überschreiben können.

Wenn es sich um einen Funktionsausdruck handelt, müssen Sie warten, bis der Funktionsausdruck erstellt wurde.

Beispiel 1 (Funktionsdeklaration):

Ich habe eine Funktion Erklärung auf meiner Seite, die true zurück, wenn ein Rest in der Berechnung ist, sonst false. Ich führe es beim Laden der Seite aus. Der Ausgang ist false hier:

function hasRemainder(first, second) { 
    return (first % second != 0); 
} 

console.log(hasRemainder(10, 5)); 

falsch

Ich habe hinzugefügt nun die Script First Statement Breakpoint in DevTools, so dass der Debugger bricht vor jedem Skript ausgeführt wird:

Script First Statement

Ich öffne die Seite und die Ausführung pausiert. Ich laufe jetzt den folgenden Code in der Konsole der Registerkarte hasRemainder Funktion außer Kraft zu setzen, so dass es immer wieder true:

hasRemainder = function() { 
    return true; 
} 

Schließlich I Play klicken Ausführung fortzusetzen. Sie können lange auf Long Resume klicken, wodurch Haltepunkte für 500 ms übersprungen werden, so dass Sie danach nicht für einen einzelnen Haltepunkt gefangen werden.

wahr

Der Ausgang dieses Mal ist true wie man es erwarten würde.

Beispiel 2 (Function Expression):

Wir können diesmal nicht auf den frühen Breakpoint verlassen, weil die Funktion noch nicht existieren. Wir müssen den Haltepunkt hinzufügen, unmittelbar nachdem der Funktionsausdruck erstellt wurde.

Suche nach den Funktionen Cmd + Opt + F (Mac) oder Ctrl +Umschalt +F (Windows).

Search

Wenn Sie mit der Funktion Ausdruck in der Datei sind, setzen Sie einen Haltepunkt am Ende der Funktion. Wenn der Debugger angehalten wird, führen Sie die Überschreibungsfunktion in die Konsole aus und drücken Sie dann auf Wiedergabe, um die Ausführung fortzusetzen.

Function Expression