Zum Hauptinhalt springen




Da Daten das Wichtigste sind, sammeln, analysieren und klassifizieren wir Daten 10 errores de JavaScript wichtiger. Dies gibt Benutzern einen guten Überblick anstelle eines großen, überwältigenden Speicherauszugs, wie Sie ihn in einer Protokolldatei sehen würden.

Wir konzentrieren uns auf die Fehler, die Sie und Ihre Benutzer am wahrscheinlichsten betreffen. Dazu klassifizieren wir die Fehler nach der Anzahl der Projekte, bei denen sie in verschiedenen Unternehmen auftreten. Wenn wir nur die Gesamtzahl der Fehler betrachten, können Kunden mit hohem Volumen den Datensatz mit Fehlern überfüllen, die für die meisten Leser nicht relevant sind.

Hier sind die Top 10 JavaScript-Fehler

Jeder Fehler wurde gekürzt, um das Lesen zu erleichtern. Lassen Sie uns in jeden von ihnen eintauchen, um herauszufinden, was ihn verursachen kann und wie er vermieden werden kann.

Nicht erkannter Fehlertyp: Eigenschaft kann nicht gelesen werden

Wenn Sie ein JavaScript-Entwickler sind, haben Sie diesen Fehler wahrscheinlich häufiger gesehen, als Sie zugeben möchten. Dies geschieht in Chrome, wenn Sie eine Eigenschaft lesen oder eine Methode für ein undefiniertes Objekt aufrufen. Sie können es sehr einfach in der Chrome-Entwicklungskonsole testen.

Esto puede ocurrir por muchas razones, pero una común es la inicialización incorrecta del estado mientras se renderizan los componentes de la Benutzeroberfläche.

TypeError: 'undefined' ist kein Objekt

Dies ist ein Fehler, der in Safari auftritt, wenn Sie eine Eigenschaft lesen oder eine Methode für ein undefiniertes Objekt aufrufen. Sie können es sehr einfach in der Safari-Entwicklungskonsole testen. Dies ist im Wesentlichen der gleiche Fehler wie der vorherige für Chrome, Safari verwendet jedoch eine andere Fehlermeldung.

FEHLERTYP: null ist kein Objekt

Dies ist ein Fehler, der in Safari auftritt, wenn Sie eine Eigenschaft lesen oder eine Methode für ein Nullobjekt aufrufen. Sie können es sehr einfach in der Safari-Entwicklungskonsole testen.

Interessanterweise sind in JavaScript null und undefined nicht identisch, weshalb zwei verschiedene Fehlermeldungen angezeigt werden. Undefiniert ist im Allgemeinen eine Variable, die nicht zugewiesen wurde, während null bedeutet, dass der Wert leer ist.

Una forma en que este error puede ocurrir en un ejemplo del mundo real es si intenta usar un elemento DOM en su JavaScript antes de que el elemento Sein cargado. Esto se debe a que la API DOM devuelve nullpara las referencias de objetos que están en blanco.

Cualquier código JS que ejecute y trate con elementos DOM debe ejecutarse después de que se hayan creado los elementos DOM. El código JS se interpreta de arriba hacia abajo como se indica en el HTML. Por lo tanto, si hay una etiqueta antes de los elementos DOM, el código JS dentro de la etiqueta script se ejecutará cuando el Browser analice la página HTML. Obtendrá este error si los elementos DOM no han a sido creados antes de cargar el script.

(unbekannt): Skriptfehler

El error de Script se produce cuando un error de JavaScript no detectado cruza los límites del Domain en violación de la política de origen cruzado. Por ejemplo, si aloja tu código JavaScript en una CDN, cualquier error no detectado (errores que burbujean hasta el manejador de errores window.onerror, anstatt darin gefangen zu sein try-catch) Es wird einfach als "Skriptfehler" gemeldet, anstatt nützliche Informationen zu enthalten. Dies ist eine Browsersicherheitsmaßnahme, mit der verhindert werden soll, dass Daten durch Domänen übertragen werden, die sonst nicht kommunizieren könnten.

TypeError: Objekt unterstützt keine Eigenschaft

Dies ist ein Fehler, der im IE auftritt, wenn eine undefinierte Methode aufgerufen wird. Sie können es in der IE Developer Console testen.

Esto es equivalente al error «TypeError: ‘undefined’ is not a function» en Chrome. Sí, diferentes Browser pueden tener diferentes mensajes de error para el mismo error lógico.

Este es un problema común para IE en aplicaciones Netz que emplean espaciado de nombres JavaScript. Cuando este es el caso, el problema del 99,9% de las veces es la incapacidad de IE para enlazar métodos dentro del espacio de nombres actual con esta Stichwort. Por ejemplo, si tiene el espacio de nombres JS Rollbar con el método isAwesome.

TypeError: 'undefined' ist keine Funktion

Este es un error que se produce en Chrome cuando se llama a una función indefinida. Puede probarlo en la consola de desarrollo Chrome y en la consola de desarrollo Mozilla Firefox.

Da JavaScript-Codierungstechniken und Entwurfsmuster im Laufe der Jahre immer ausgefeilter wurden, hat die Verbreitung von selbstreferenzierenden Bereichen innerhalb von Rückrufen und Schließungen entsprechend zugenommen, was eine ziemlich häufige Ursache für diese oder jene Verwirrung ist.

Nicht gefangener RangeError

Dies ist ein Fehler, der in Chrome unter verschiedenen Umständen auftritt. Eine ist, wenn eine rekursive Funktion aufgerufen wird, die nicht beendet wird. Sie können es in der Chrome-Entwicklungskonsole testen.

Dies kann auch auftreten, wenn ein Wert an eine Funktion übergeben wird, die außerhalb des Bereichs liegt. Viele Funktionen akzeptieren nur einen bestimmten Zahlenbereich für ihre Eingabewerte. Zum Beispiel, Number.toExponential (Ziffern) y Number.toFixed (Ziffern) Akzeptieren Sie Ziffern von 0 bis 100 und Number.toPrecision (Ziffern) Akzeptieren Sie Ziffern von 1 bis 100.

TypeError: Eigenschaft 'Länge' kann nicht gelesen werden

Dies ist ein Fehler, der in Chrome aufgrund der Leselängeneigenschaft einer undefinierten Variablen auftritt. Sie können es in der Chrome-Entwicklungskonsole testen.

Normalerweise befindet sich die definierte Länge in einem Array. Dieser Fehler kann jedoch auftreten, wenn das Array nicht initialisiert ist oder wenn der Variablenname in einem anderen Kontext ausgeblendet ist. Lassen Sie uns diesen Fehler anhand des folgenden Beispiels verstehen.

Nicht erfasster TypeError: Eigenschaft kann nicht festgelegt werden

Wenn wir versuchen, auf eine undefinierte Variable zuzugreifen, wird immer undefiniert zurückgegeben, und wir können keine Eigenschaft von undefiniert abrufen oder festlegen. In diesem Fall gibt eine Anwendung "Uncaught TypeError kann die Eigenschaft undefined nicht festlegen" aus.

ReferenceError: Ereignis ist nicht definiert

Este error se produce cuando se intenta acceder a una variable que está indefinida o fuera del Umfang actual. Puedes probarlo muy fácilmente en el navegador Chrome.

Si obtiene este error al utilizar el sistema de gestión de eventos, asegúrese de utilizar el objeto de Veranstaltung pasado como parámetro. Los navegadores más antiguos como IE ofrecen un evento de variable global, y Chrome automáticamente adjunta la variable de evento al handler. Firefox no lo añadirá automáticamente. Las bibliotecas como jQuery intentan normalizar este comportamiento. Sin embargo, es una buena práctica usar la que se ha pasado a la función del manejador de eventos.

Fazit

Es stellt sich heraus, dass viele davon null oder undefinierte Fehler sind. Ein gutes statisches Typprüfsystem wie Typoskript podría ayudarte a evitarlos si utilizas la opción del Compiler estricto. Puede advertirte si se espera un tipo pero no se ha definido. Incluso sin Typoskript, Es ist nützlich, Schutzklauseln zu verwenden, um zu überprüfen, ob Objekte undefiniert sind, bevor Sie sie verwenden.

Wir hoffen, dass Sie etwas Neues gelernt haben und Fehler in Zukunft vermeiden können oder dass dieser Leitfaden Ihnen bei der Lösung eines Kopfkratzers geholfen hat. Selbst mit Best Practices treten jedoch unerwartete Fehler in der Produktion auf. Es ist wichtig, die Fehler, die Benutzer betreffen, sichtbar zu machen und über gute Tools zu verfügen, um sie schnell zu beheben.