関数宣言、関数式
-関数宣言
:定義子のみ、完全マルチシース
function a(){/*...*/} a() ; // 実行OK
-関数式
定義された関数を別の変数に割り当てる式.
シンボルのみを宣言し、割り当てはそのままになります.
(匿名)関数式.変数名bは関数名である
var b = function () {/*...*/} / b(); // 実行OK
記名関数式.変数名はc,関数名はdである.
var c = function d() {/*...*/} c(); // 実行OK d(); // エラー!
console.log(sum(1,2));
console.log(multiply(3,4));
function sum(a, b) { // (함수명 sum이 곧 변수명❗)
return a + b;
}
var multiply = function (a,b) {
return a * b;
}
上のコードに音を付けたら、下のコードのようになります.
var sum = function sum(a, b) { //전체 다 끌어올려짐(함수명 sum이 곧 변수명❗)
return a + b;
}
var multiply; // 선언부만 호이스팅 됨
console.log(sum(1,2)); // 3
console.log(multiply(3,4)); // multiply is not a function
multiply = function (a,b) {
return a * b;
}
Reference
この問題について(関数宣言、関数式), 我々は、より多くの情報をここで見つけました https://velog.io/@ksung1889/함수-선언문-함수-표현식テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol