Heim > Artikel > Web-Frontend > Detaillierte Analyse der JavaScript-Funktionsdefinition_Javascript-Fähigkeiten
Funktion
Ein paar wichtige Punkte:
a). Funktionen sind erstklassige Bürger in JavaScript (Wichtigkeit)
.
c) Die Funktion definiert einen unabhängigen Variablenbereich
Definitionsmethode
Benannte Funktionen sind global, sofern sie nicht in einer anderen Funktion definiert sind.
// 全局的命名函数 function add(x, y) { return x + y; } console.info(add(100, 200)); //300
Anonyme Funktionen werden normalerweise einer Variablen zugewiesen und dann über die Variable aufgerufen.
var func = function (x, y) { return x + y; } console.info(func(5, 2)); //7
console.info( function (x, y) { return x + y; }(100, 200) //立即调用 );
Die benannte Funktion kann zuerst verwendet und dann definiert werden
console.info(sum(10, 10)); function sum(num1, num2) { return num1 + num2; }
verwendet werden kann
//console.info(sumFunc(10, 10)); //Uncaught TypeError: Property 'sumFunc' of object [object Object] is not a function var sumFunc = function (num1, num2) { return num1 + num2; }; console.info(sumFunc(10, 10));
Funktionsrückgabewert:
function func() { } console.info(func()); //undefined function func2() { return; //空的返回语句 } console.info(func2()); //undefined
Die im Rücklauf versteckte Grube:
var func = function (x, y) { var sum = x + y; return { value : sum } }
Aber:
var func = function (x, y) { var sum = x + y; return { value: sum }; } console.info(func(5,5)); //undefinedWenn auf die Rückgabe ein Wagenrücklauf und ein Zeilenwechsel folgen,
angezeigt
Der Herausgeber hat nach der Rückgabe für uns ein Semikolon hinzugefügt, das in diesem Fall jedoch keinen Nutzen hat.
function add(x, y) { return x + y; } console.info(add(100, 200)); //300 var other = add; //other和add引用同一函数对象 console.info(other(300, 400)); //700 console.info(typeof other); //function console.info(add === other); //true
Innerhalb einer Funktion können Sie eine andere Funktion definieren.
function outerFunc(a, b) { function innerFunc(x) { return x * x; } return Math.sqrt(innerFunc(a) + innerFunc(b)); } console.info(outerFunc(3, 4)); //5
Interne Funktionen können auf externe Variablen und Parameter zugreifen.
var globalStr = 'globalStr'; function outerFunc2(argu) { var localVar = 100; function innerFunc2() { localVar++; console.info(argu + ":" + localVar + ":" + globalStr); } innerFunc2(); //hello:101:globalStr } outerFunc2("hello");
Da Funktionen Objekte sind, können sie als Rückgabewerte verwendet werden.
function outerFunc(x) { var y = 100; return function innerFunc() { console.info(x + y); } } outerFunc(10)(); //110Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er gefällt Ihnen allen.