JavaScript関数あれこれ
まだあるが、関数の書き方が色々ある。
code:js
var func = alert("a"); // アラートが実行される
(function(){alert("a")}) // 関数リテラル。実行されない
(function(){alert("a")})() // 即時関数
func = (function(){alert("a")}) // 変数に関数リテラルが渡される
func // 実行されない
func() // 実行される
function(){alert("a")} // SyntaxError
!function(){alert("a")} // false
!function(){alert("a")}() // 即時関数
(()=>alert("a"))() // アロー関数の即時関数
function func() { // 関数宣言
alert("a")
}
func = new Function('alert("a")')
雑なメモ
「関数を実行する」のか「関数リテラルを渡すのか」という区別がある。