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

Mehrere Möglichkeiten, Funktionen in JS zu definieren

青灯夜游
青灯夜游nach vorne
2020-10-20 17:19:334353Durchsuche

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; }

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; })

4. Generatorfunktion

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

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

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

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

5. Asynchrone Funktion

function *sum(a, b) { yield a + b; }

6. Konstruktor (AVOID)

async function sum(a, b) { return await a + b; }

new Function(‘a’, ‘b’, ‘return a + b;’);

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

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

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

// 简写:
const object = {
  sum(a, b) { return a + b; },
};
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; },
};
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的代码 */ },
});
14. Private Klassenfunktionen

const functionName = "answer";
const object = {
  get [functionName]() { return 42; },
  set [functionName](value) { /* 一些操作value的代码 */ },
};
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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen