Meta tags:
description= JavaScript-Funktionen sind Objekte: name und length lesen, eigene Eigenschaften anhängen und Named Function Expressions für zuverlässige Selbstreferenz nutzen.;
Headings (most frequently used words):
function, nfe, und, named, expressions, funktionen, die, name, eigenschaft, javascript, objekt, sind, objekte, length, benutzerdefinierte, eigenschaften, wann, diese, verwendet, werden, sollten, zusammenfassung, übungen, warum, der, interne, wichtig, ist, rekursion,
Text of the page (most frequently used words):
und (66), die (34), #function (32), ist (29), javascript (28), name (25), funktion (24), der (24), ein (22), eine (20), sayhi (19), api (19), dom (19), das (17), lernen (15), console (15), log (14), nfe (13), eigenschaften (13), length (13), für (12), mit (11), funktionen (10), named (10), eigenschaft (10), was (9), einer (9), einen (9), namen (9), sich (9), auf (9), methoden (9), html (8), web (8), variable (8), von (8), let (8), string (8), expressions (7), benutzerdefinierte (7), objekt (7), run (7), editable (7), func (7), the (7), tools (6), objekte (6), expression (6), object (6), parameter (6), selbst (6), variablen (6), hello (6), w3docs (5), alle (5), übungen (5), diese (5), sind (5), einem (5), kannst (5), rekursion (5), sie (5), who (5), als (5), rest (5), events (5), formatter (5), color (5), json (4), generator (4), css (4), this (4), syntax (4), immer (4), geben (4), verwende (4), wenn (4), aufruf (4), dass (4), interne (4), selbstreferenz (4), wird (4), nicht (4), guest (4), count (4), user (4), shadow (4), fetch (4), async (4), einführung (4), code (3), encoder (3), editor (3), quizze (3), php (3), werden (3), page (3), new (3), erweitern (3), gibt (3), anzahl (3), persistenten (3), zustand (3), anhängen (3), nur (3), zuverlässig (3), aufrufen (3), bei (3), oder (3), ohne (3), eines (3), callbacks (3), kann (3), keine (3), dem (3), stack (3), verwenden (3), innerhalb (3), kopieren (3), wie (3), property (3), beispiel (3), eigene (3), handler (3), zum (3), greet (3), bye (3), den (3), saybye (3), flag (3), document (3), data (3), browser (3), event (3), and (3), promise (3), operatoren (3), italiano (2), português (2), español (2), français (2), русский (2), deutsch (2), english (2), beautifier (2), diff (2), password (2), python (2), java (2), git (2), bücher (2), snippets (2), zusammenfassung (2), wann (2), verwendet (2), sollten (2), globales (2), anonyme (2), ihrem (2), lokalen (2), geltungsbereich (2), funktionsdeklaration (2), ihren (2), befüllt (2), ermöglicht (2), methode (2), funktionsausdrücke (2), schreiben (2), dann (2), funktionsausdruck (2), besonders (2), überlebt (2), konfiguration (2), beim (2), bibliotheken (2), hat (2), möglichkeit (2), private (2), factorial (2), fact (2), call (2), internal (2), neu (2), zugewiesen (2), anderen (2), auslösen (2), null (2), wurde (2), davon (2), works (2), welcome (2), man (2), könnte (2), äußere (2), warum (2), außen (2), aus (2), eigenen (2), referenzieren (2), bereits (2), nach (2), daran (2), argumente (2), einmal (2), ausführen (2), element (2), many (2), debugging (2), arr (2), magie (2), funktioniert (2), kein (2), existiert (2), array (2), auch (2), jede (2), verhalten (2), workers (2), file (2), suche (2), muster (2), quantoren (2), anker (2), flags (2), components (2), animationen (2), url (2), microtasks (2), formulare (2), ereignisse (2), styles (2), klassen (2), arrays (2), generatoren (2), advanced (2), await (2), fehlerbehandlung (2), promises (2), chaining (2), error (2), handling (2), class (2), prototypes (2), interaktive (2), elemente (2), arrow (2), functions (2), objects (2), hash (2), 2026, rechte, vorbehalten, entwickler, gemacht, sprache, datenschutzrichtlinie, kontakt, über, uns, unternehmen, probier, üben, kostenlose, tutorials, beispiele, seit, 2014, next, previous, yes, helpful, prüfen, nfes, ihr, eigenes, bindet, bestimmten, zeitplan, übung, inspizieren, oft, kontextuell, meldet, deklarierten, fügt, intern, sichtbaren, hinzu, aufzurufen, sicherste, selbstreferenzielle, rekursive, muss, ablösbaren, handlern, damit, neuzuweisung, zähler, caches, umgebende, closure, globale, arität, anpassen, klarere, logs, debug, ausgaben, beachte, namenstrick, gilt, keinen, separaten, internen, haben, vor, äußeren, verbergen, daher, gleiche, weise, behalten, return, self, via, genau, benötigt, hält, rekursiven, laufen, später, unter, weitergegeben, siehe, vollständige, bild, hätte, statt, aufgerufen, würde, weil, gesetzt, betroffen, typeerror, else, uses, always, original, reassigned, still, thanks, meinen, einfach, problem, ändern, zeigt, aktuelle, egal, passiert, wichtig, sichtbar, erlaubt, körper, heraus, sieht, ungewöhnlich, ding, hier, zwei, arten, schlüsselwort, trägt, funktionseigenschaft, dasselbe, lokale, jedem, zurückgesetzt, bleibt, bestehen, les, schreibbar, nützlich, macht, cachen, ergebnissen, increment, own, called, time, initialize, counter, klassisches, aufrufzähler, unterscheidet, lebt, zwischen, ordentliche, häufiger, praktischer, einsatz, manche, rufen, erwarteten, unterschiedlich, argument, pro, behandelt, introspektieren, not, counted, zurück, ihrer, definition, deklariert, standardwerten, gezählt, zählung, stoppt, ersten, solchen, praktisch, logging, trace, anzeigt, weitaus, nützlicher, anonymous, empty, jedoch, vorhanden, nichts, erstellt, leerer, engine, schaut, zuweisung, kopiert, variablennamen, standardparametern, assigned, taken, from, enthält, clevere, offensichtlichen, stelle, steht, bezeichnet, kontextuelles, benennen, seite, setzt, voraus, vertraut, bist, falls, dich, lies, zuerst, erstellst, ständig, dieses, kapitel, betrachtet, sobald, nützlichen, eingebauten, fähigkeit, halten, besonderen, form, funktionsdeklarationen, ausdrücken, tatsache, erklärt, viel, sonst, wirkt, jeden, wert, herumreichen, speichern, auslesen, sogar, hinzufügen, lesen, zuverlässige, nutzen, intl, vibration, notifications, audio, webrtc, geolocation, websockets, service, midi, storage, validation, fullscreen, history, screen, orientation, push, webgl, battery, animations, apis, regexp, sticky, position, katastrophales, backtracking, lookahead, lookbehind, alternation, rückwärtsreferenzen, erfassungsgruppen, gierige, faule, sets, ranges, escaping, sonderzeichen, wortgrenze, mehrzeiliger, modus, anfang, ende, unicode, klasse, zeichenklassen, regex, regular, styling, slots, komposition, template, custom, elements, animation, indexeddb, localstorage, sessionstorage, cookies, cookie, storing, wiederaufnehmbarer, dateiupload, server, sent, xmlhttprequest, ursprungsübergreifende, anfragen, abbruch, download, fortschritt, formdata, network, requests, canvas, references, loop, macrotasks, selection, range, resizeobserver, intersectionobserver, mutation, observer, various, ressourcen, laden, onload, onerror, scripts, defer, domcontentloaded, load, beforeunload, unload, resource, loading, ereignis, submit, clipboard, change, input, cut, copy, paste, fokussierung, focus, blur, formulareigenschaften, forms, controls, scrolling, tastatur, keydown, keyup, drag, drop, mausbewegungen, mausereignisse, grundlagen, standard, browseraktionen, delegation, bubbling, capturing, introduction, koordinaten, fenstergrößen, scrollen, dokument, verändern, attribute, knoteneigenschaften, typ, tag, inhalt, getelement, queryselector, browserumgebung, spezifikationen, streams, filereader, blob, textdecoder, textencoder, arraybuffer, binäre, binary, files, fensterübergreifende, kommunikation, popups, window, frames, windows, polyfills, transpiler, bigint, currying, eval, proxy, reflect, miscellaneous, dynamische, imports, export, import, module, modules, iteratoren, generators, iteration, promisification, fehler, try, catch, mixins, checking, instanceof, eingebaute, geschützte, statische, klassenvererbung, grundsyntax, classes, prototyp, __proto__, native, prototypale, vererbung, inheritance, widgets, performance, optimierung, barrierefreiheit, kompatibilität, manipulationsbibliotheken, fortgeschrittene, techniken, manipulationstechniken, traversieren, arbeiten, manipulieren, auswählen, knoten, getter, setter, deskriptoren, properties, configuration, closures, vertieft, binding, debounce, throttle, dekoratoren, weiterleitung, apply, settimeout, setinterval, alte, var, scope, spread, tojson, datum, uhrzeit, destructuring, assignment, keys, values, entries, weakmap, weakset, map, set, iterables, strings, math, zahlen, primitiven, types, optional, konstruktor, operator, primitiv, konvertierung, symbol, typen, garbage, collection, objektmethoden, basics, es6, schleifen, switch, bedingte, nullish, coalescing, logische, vergleichsoperatoren, typkonvertierungen, datentypen, use, strict, kommentare, basic, anmelden, durchsuchen, formatters, reverse, sha256, md5, calculator, colors, hsl, hex, mixer, converter, picker, general, kurse,
Text of the page (random words):
javascript function objekt name length und nfe w3docs w3docs bücher html lernen css lernen javascript lernen git lernen java lernen php lernen python lernen kurse quizze übungen snippets tools general tools html editor password generator html encoder code diff json beautifier alle 13 color tools color picker color converter color mixer color hex colors hsl alle 10 string tools string length calculator md5 hash generator sha256 hash generator string reverse url encoder alle 19 code formatters javascript formatter css formatter html formatter json formatter php formatter w3docs durchsuchen k de english en deutsch de русский ru français fr español es português pt italiano it anmelden javascript lernen javascript basic einführung javascript verwenden js kommentare js mit dom js use strict js variablen js datentypen js typkonvertierungen js interaktive funktionen js operatoren js vergleichsoperatoren js logische operatoren js nullish coalescing js bedingte operatoren js switch js schleifen js funktionen js funktionsausdrücke js arrow functions js es6 objects the basics js objects js objekte kopieren js objektmethoden this js garbage collection js symbol typen js objekt zu primitiv konvertierung js konstruktor operator new js optional chaining data types js methoden von primitiven js zahlen js math js strings js arrays js array methoden js iterables js map und set js weakmap und weakset js object keys values entries js destructuring assignment js datum und uhrzeit js json methoden tojson advanced functions js rekursion und stack js rest parameter und spread syntax js variablen scope js das alte var js globales objekt js function objekt nfe js die new function syntax js settimeout und setinterval js dekoratoren und weiterleitung call apply js debounce throttle js function binding js arrow funktionen vertieft js closures object properties configuration js property flags und deskriptoren js property getter und setter javascript html dom dom einführung die dom knoten dom elemente auswählen den dom manipulieren arbeiten mit styles im dom event handling im dom dom traversieren dom manipulationstechniken formulare im dom verwenden fortgeschrittene dom techniken dom manipulationsbibliotheken dom browser kompatibilität dom barrierefreiheit debugging und tools performance optimierung interaktive elemente und widgets prototypes inheritance js prototypale vererbung js native prototypes js prototyp methoden objekte ohne __proto__ classes js class grundsyntax js klassenvererbung statische eigenschaften und methoden private und geschützte eigenschaften in js js eingebaute klassen erweitern js class checking instanceof js mixins error handling js fehlerbehandlung try catch js benutzerdefinierte fehler error erweitern promises async await js einführung callbacks js promise js promise chaining js fehlerbehandlung mit promises promise api promisification microtasks async await generators advanced iteration generatoren async iteratoren und generatoren modules module export und import dynamische imports miscellaneous proxy und reflect eval currying bigint js polyfills transpiler frames and windows popups und window methoden fensterübergreifende kommunikation binary data files arraybuffer binäre arrays textdecoder und textencoder blob file und filereader js streams api document browserumgebung spezifikationen suche getelement queryselector knoteneigenschaften typ tag und inhalt attribute und eigenschaften das dokument verändern styles und klassen fenstergrößen und scrollen koordinaten introduction to events javascript einführung in browser ereignisse bubbling und capturing event delegation standard browseraktionen benutzerdefinierte ereignisse auslösen ui events mausereignisse grundlagen mausbewegungen drag and drop tastatur keydown und keyup scrolling forms controls formulareigenschaften und methoden fokussierung focus blur events change input cut copy paste js clipboard api formulare ereignis und methode submit document and resource loading page domcontentloaded load beforeunload unload scripts async defer ressourcen laden onload und onerror various mutation observer js intersectionobserver js resizeobserver selection und range event loop microtasks und macrotasks javascript references canvas network requests fetch api formdata fetch download fortschritt fetch abbruch fetch ursprungsübergreifende anfragen url objekte xmlhttprequest js server sent events wiederaufnehmbarer dateiupload storing data in the browser cookies document cookie localstorage sessionstorage indexeddb animation css animationen javascript animationen web components web components custom elements shadow dom template element shadow dom slots komposition shadow dom styling shadow dom und events regular expressions js regex muster und flags zeichenklassen unicode flag u und klasse p anker string anfang und ende mehrzeiliger modus der anker flag m wortgrenze b escaping sonderzeichen sets und ranges quantoren und n gierige und faule quantoren erfassungsgruppen rückwärtsreferenzen im muster n und k name javascript alternation or lookahead und lookbehind katastrophales backtracking sticky flag y suche an position methoden von regexp und string javascript apis web animations api file api battery api webgl push api screen orientation api history api console api fullscreen api validation api web storage api web midi api js web workers service workers websockets geolocation webrtc web audio api notifications api die vibration api js intl api javascript function objekt und named function expressions nfe javascript funktionen sind objekte name und length lesen eigene eigenschaften anhängen und named function expressions für zuverlässige selbstreferenz nutzen funktionen sind objekte in javascript ist jede funktion ein object diese eine tatsache erklärt viel verhalten das sonst wie magie wirkt du kannst eine funktion wie jeden anderen wert herumreichen sie in einer variablen speichern eigenschaften davon auslesen und sogar eigene eigenschaften hinzufügen du erstellst bereits ständig funktionen mit funktionsdeklarationen und ausdrücken dieses kapitel betrachtet was eine funktion ist sobald sie existiert ein object mit nützlichen eingebauten eigenschaften name und length der fähigkeit benutzerdefinierte eigenschaften zu halten und einer besonderen form dem named function expression die es einer funktion ermöglicht sich selbst zuverlässig zu referenzieren diese seite setzt voraus dass du mit function expressions vertraut bist falls let f function neu für dich ist lies das zuerst die name eigenschaft jede funktion hat eine name eigenschaft die den namen der funktion als string enthält das clevere daran ist dass javascript sie auch dann befüllt wenn kein name an der offensichtlichen stelle steht ein verhalten das als kontextuelles benennen bezeichnet wird javascript editable run function sayhi let saybye function assigned to a variable console log sayhi name sayhi console log saybye name saybye taken from the variable die engine schaut sich die zuweisung an und kopiert den variablennamen auf die anonyme funktion das funktioniert auch bei standardparametern und objekt methoden javascript editable run let user greet hello function bye console log user greet name greet console log user hello name hello console log user bye name bye es gibt jedoch keine magie die immer funktioniert wenn kein name vorhanden ist und nichts zum kopieren existiert zum beispiel eine funktion die innerhalb eines array erstellt wurde ist name ein leerer string javascript editable run let arr function console log arr 0 name empty string die name eigenschaft ist praktisch für logging und debugging ein stack trace der at sayhi anzeigt ist weitaus nützlicher als at anonymous die length eigenschaft die length eigenschaft einer funktion gibt die anzahl der parameter zurück die in ihrer definition deklariert sind rest parameter rest und parameter mit standardwerten werden nicht gezählt und die zählung stoppt beim ersten solchen parameter javascript editable run function f1 a function f2 a b function many a b rest console log f1 length 1 console log f2 length 2 console log many length 2 rest is not counted ein häufiger praktischer einsatz von length ist das introspektieren eines callbacks manche bibliotheken rufen einen handler je nach anzahl der erwarteten argumente unterschiedlich auf zum beispiel wird ein handler ohne argumente als einmal für alle ausführen und ein handler mit einem argument als einmal pro element ausführen behandelt benutzerdefinierte eigenschaften da eine funktion ein object ist kannst du eigene eigenschaften daran anhängen das unterscheidet sich von einer lokalen variablen eine eigenschaft lebt auf der funktion und überlebt zwischen aufrufen was eine ordentliche möglichkeit ist einer funktion ihren eigenen persistenten zustand zu geben ein klassisches beispiel ist ein aufrufzähler javascript editable run function sayhi sayhi count increment the function s own property console log hi called sayhi count time s sayhi count 0 initialize the counter sayhi sayhi console log sayhi count 2 eine funktionseigenschaft ist nicht dasselbe wie eine variable innerhalb der funktion eine lokale variable wird bei jedem aufruf zurückgesetzt eine eigenschaft bleibt bestehen und ist von außen les und schreibbar was sie für die konfiguration nützlich macht z b das cachen von ergebnissen auf der funktion selbst named function expressions nfe ein named function expression ist ein funktionsausdruck der nach dem schlüsselwort function einen namen trägt let sayhi function func who console log hello who kopieren das sieht ungewöhnlich aus warum einem ding das bereits sayhi zugewiesen ist einen namen geben der name func ist hier auf zwei arten besonders er erlaubt der funktion sich zuverlässig auf sich selbst aus ihrem eigenen körper heraus zu referenzieren er ist nur innerhalb der funktion sichtbar du kannst func nicht von außen aufrufen warum der interne name wichtig ist man könnte meinen man könnte einfach die äußere variable sayhi für die selbstreferenz verwenden das problem ist dass die äußere variable sich ändern kann mit einem nfe zeigt der interne name immer auf die aktuelle funktion egal was mit der variablen passiert javascript editable run let sayhi function func who if who console log hello who else func guest uses the internal name always works let welcome sayhi sayhi null the original variable is reassigned welcome hello guest still works thanks to func hätte die funktion sayhi guest statt func guest aufgerufen würde der aufruf einen typeerror auslösen weil sayhi auf null gesetzt wurde der interne name ist davon nicht betroffen nfe und rekursion diese selbstreferenz ist genau das was rekursion benötigt ein nfe hält einen rekursiven aufruf am laufen selbst wenn die funktion später neu zugewiesen oder unter einem anderen namen weitergegeben wird siehe javascript rekursion und stack für das vollständige bild javascript editable run let factorial function fact n return n 2 1 n fact n 1 self call via internal name console log factorial 4 24 beachte dass der interne namenstrick nur für function expressions gilt eine funktionsdeklaration kann keinen separaten internen namen haben und hat keine möglichkeit einen namen vor dem äußeren geltungsbereich zu verbergen daher kann sie auf die gleiche weise keine private selbstreferenz behalten wann diese funktionen verwendet werden sollten verwende name für klarere logs und debug ausgaben verwende length beim schreiben von bibliotheken die sich an die arität eines callbacks anpassen verwende benutzerdefinierte eigenschaften um einer funktion persistenten zustand zu geben zähler caches konfiguration ohne eine umgebende closure oder eine globale variable verwende einen named function expression immer dann wenn ein funktionsausdruck sich selbst aufrufen muss besonders bei rekursion oder ablösbaren handlern damit der aufruf eine neuzuweisung der variablen überlebt zusammenfassung eine javascript funktion ist ein object das du inspizieren und erweitern kannst die name eigenschaft gibt ihren namen an oft kontextuell befüllt length meldet die anzahl der deklarierten parameter und du kannst benutzerdefinierte eigenschaften für persistenten zustand anhängen ein named function expression fügt einen nur intern sichtbaren namen hinzu der es einer funktion ermöglicht sich selbst zuverlässig aufzurufen was die sicherste methode ist selbstreferenzielle und rekursive funktionsausdrücke zu schreiben übungen übung was ist ein nfe named function expression in javascript was ist ein nfe named function expression in javascript ein nfe ist eine funktion mit einem bestimmten zeitplan ein nfe ist eine funktionsdeklaration die ihr eigenes this bindet ein nfe ist eine syntax um einer funktion einen namen in ihrem lokalen geltungsbereich zu geben nfes sind immer anonyme funktionen prüfen was this page helpful yes no previous js globales objekt next js die new function syntax on this page funktionen sind objekte die name eigenschaft die length eigenschaft benutzerdefinierte eigenschaften named function expressions nfe wann diese funktionen verwendet werden sollten zusammenfassung übungen w3docs kostenlose tutorials beispiele übungen snippets und quizze für das web seit 2014 bücher html lernen css lernen javascript lernen git lernen java lernen php lernen python lernen üben übungen quizze probier editor tools html editor password generator html encoder code diff json beautifier unternehmen über uns kontakt datenschutzrichtlinie sprache english deutsch русский français español português italiano 2026 w3docs alle rechte vorbehalten für entwickler gemacht
|