Heim > Web-Frontend > js-Tutorial > Mehrere Möglichkeiten, Funktionen in JS zu definieren

Mehrere Möglichkeiten, Funktionen in JS zu definieren

青灯夜游
Freigeben: 2020-10-20 17:21:22
nach vorne
4396 Leute haben es durchsucht

Mehrere Möglichkeiten, Funktionen in JS zu definieren

Wissen Sie, wie viele Möglichkeiten es gibt, eine Funktion in JavaScript zu erstellen? Der folgende Artikel stellt Ihnen verschiedene Methoden zum Definieren von Funktionen in JavaScript vor. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

1. Deklarationsfunktion

function sum(a, b) { return a + b; }
Nach dem Login kopieren

2. Ausdrucksfunktion

// 可以命名:
(function sum(a, b) { return a + b; });

// 也可匿名 (AVOID):
(function(a, b) { return a + b; });

// 也能分配给变量:
const sum = function sum(a, b) { return a + b; })
Nach dem Login kopieren

4. Generatorfunktion

// 一般形式:
(a, b) => { return a + b };

// 单参数,一行返回:
name => name.split(' ')

// 多参数,一行返回:
(a, b) => a + b

// 单参数,带函数体
name => { return name.split(' '); }
Nach dem Login kopieren

5. Asynchrone Funktion

function *sum(a, b) { yield a + b; }
Nach dem Login kopieren

6. Konstruktor (AVOID)

async function sum(a, b) { return await a + b; }
Nach dem Login kopieren

new Function(‘a’, ‘b’, ‘return a + b;’);
Nach dem Login kopieren

// 默认导出
export default function(a, b) { return a + b; };

// 命名导出
export function sum(a, b) { return a + b; };
Nach dem Login kopieren
9. Objektdynamik Eigenschaftsfunktionen

// 一般形式:
const object = {
  sum: function(a, b) { return a + b; },
};

// 简写:
const object = {
  sum(a, b) { return a + b; },
};
Nach dem Login kopieren
10. Getter/Setter-Funktionen von Objekteigenschaften

11. Getter/Setter-Funktionen von Objekt-Dynamikeigenschaften12. Klassenmethodenfunktionen

const functionName = "sum";
const object = {
  [functionName]: function(a, b) { return a + b; },
};
Nach dem Login kopieren
13. Klassenattributfunktionen

// 一般形式:
const object = {
  get answer { return 42; },
  set answer(value) { /* 一些操作value的代码 */ },
};

//  使用 defineProperty
const obj = {};
Object.defineProperty(obj, "answer", {
  get() { return 42; },
  set(value) { /* 一些操作value的代码 */ },
});
Nach dem Login kopieren
14. Private Klassenfunktionen

const functionName = "answer";
const object = {
  get [functionName]() { return 42; },
  set [functionName](value) { /* 一些操作value的代码 */ },
};
Nach dem Login kopieren
ZusammenfassungWenn Sie einige dieser Methoden kombinieren, gibt es mehr Möglichkeiten. Wenn Sie andere Methoden kennen, hinterlassen Sie bitte eine Nachricht und lassen Sie es mich wissen.

Verwandte kostenlose Lernempfehlungen:

JS-Video-Tutorial

Das obige ist der detaillierte Inhalt vonMehrere Möglichkeiten, Funktionen in JS zu definieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage