> 웹 프론트엔드 > JS 튜토리얼 > JS에서 함수를 정의하는 여러 가지 방법

JS에서 함수를 정의하는 여러 가지 방법

青灯夜游
풀어 주다: 2020-10-20 17:21:22
앞으로
4396명이 탐색했습니다.

JS에서 함수를 정의하는 여러 가지 방법

JavaScript에서 함수를 만드는 방법이 몇 가지인지 아시나요? 다음 기사에서는 JavaScript에서 함수를 정의하는 여러 가지 방법을 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.

1. 선언 함수

function sum(a, b) { return a + b; }
로그인 후 복사

2. 표현 함수

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

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

// 也能分配给变量:
const sum = function sum(a, b) { return a + b; })
로그인 후 복사

3. 생성 함수

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

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

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

// 单参数,带函数体
name => { return name.split(' '); }
로그인 후 복사

5. 비동기 함수

function *sum(a, b) { yield a + b; }
로그인 후 복사

6. 생성자(AVOID)

async function sum(a, b) { return await a + b; }
로그인 후 복사

7. 내보낸 함수

new Function(‘a’, ‘b’, ‘return a + b;’);
로그인 후 복사

8.

9. 객체 동적 속성 함수

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

// 命名导出
export function sum(a, b) { return a + b; };
로그인 후 복사

10. 객체 속성의 Getter/Setter 함수

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

// 简写:
const object = {
  sum(a, b) { return a + b; },
};
로그인 후 복사

11. 객체 동적 속성의 Getter/Setter 함수

const functionName = "sum";
const object = {
  [functionName]: function(a, b) { return a + b; },
};
로그인 후 복사

12.

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

//  使用 defineProperty
const obj = {};
Object.defineProperty(obj, "answer", {
  get() { return 42; },
  set(value) { /* 一些操作value的代码 */ },
});
로그인 후 복사
13. 클래스 속성 함수

const functionName = "answer";
const object = {
  get [functionName]() { return 42; },
  set [functionName](value) { /* 一些操作value的代码 */ },
};
로그인 후 복사
14. 클래스 전용 함수

class Compute {
  // 一般形式:
  sum(a, b) { return a + b; }
}

class Compute {
  // 静态:
  static sum(a, b) { return a + b; };
}
로그인 후 복사
Summary

더 많은 가능성이 있을 것입니다.

다른 방법을 알고 계시다면 메시지를 남겨 알려주세요. 관련 무료 학습 권장사항:

js 비디오 튜토리얼

위 내용은 JS에서 함수를 정의하는 여러 가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿