<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script> // 使用这种方式定义的函数是不能在后边直接加括号执行的 // 只能通过名字加括号执行 // function a() { // alert() // }(); //通过这种方式定义的函数,可以直接在后边加括号执行 // let a = function () { // alert(1); // }(); // 匿名函数不能直接放到代码中,但是可以直接放到[]中 // function () {} // 这就是一个函数的自执行,不是闭包 // 把匿名函数放到括号中,可以存在,也可以直接执行 // 这种存在的意义就在函数只会被调用一次,没有必要留着 // 这两种都是可以的 // (function () {alert(4)})(); // (function () {alert(4)()}); // 这两种也是可以的 // + function(){ // alert(1); // }(); // - function () { // alert(2); // }(); // ~function () { // alert(3); // }(); // !function () { // alert(4); // }(); // ()这种使用比较多 +-~!会改变返回值 </script> </body> </html>