这个功能
关键字可用于定义表达式内的函数。
您还可以使用功能
宣言或箭头语法.
函数(参数0){声明}函数(param0,param1){声明}函数(param0,param1,/*…,*/paramN){声明}函数名(param0){声明}函数名(param0,param1){声明}函数名(param0,param1,/*…,*/paramN){声明}
注:安表达式语句不能以关键字开头功能
以避免与功能
宣言. The功能
关键字仅在表达式出现在无法接受语句的上下文中时才开始表达式。
名称
可选
-
函数名称。可以省略,在这种情况下,函数是匿名的。该名称仅限于函数体。
参数N
可选
-
函数的形式参数的名称。有关参数的语法,请参见函数参考.
声明
可选
-
构成函数体的语句。
A类功能
表达式与功能
宣言. The main difference between a功能
表达式和a功能
声明是函数名称,在中可以省略功能
要创建的表达式匿名的功能。A类功能
表达式可以用作IIFE公司(立即调用函数表达式),定义后立即运行。另请参阅关于功能了解更多信息。
JavaScript中的函数表达式不会被提升,这与函数声明。在创建函数表达式之前不能使用它们:
console.log(未提升);//未定义//即使变量名被挂起,//定义不是。所以它是未定义的。notHoisted();//TypeError:notHoisted不是函数var notHoisted=函数(){console.log(“bar”);};
如果要引用函数体中的当前函数,则需要创建命名函数表达式。然后,此名称仅限于函数体(作用域)。这避免了使用不推荐的参数.被叫
属性以递归方式调用函数。
常量数学={factit:函数阶乘(n){控制台.log(n);如果(n<=1){返回1;}返回n*阶乘(n-1);},};数学事实(3)//三;2;1;
如果命名了函数表达式,则名称
函数的属性被设置为该名称,而不是从语法推断出的隐式名称(例如函数被赋给的变量)。
与声明不同,函数表达式的名称是只读的。
函数foo(){foo=1;}foo();console.log(foo);//1(函数foo(){foo=1;//TypeError:赋值给常量变量。})();
下面的示例定义了一个未命名的函数并将其赋值给x个
。该函数返回其参数的平方:
更常见的是,它被用作回调:
button.addEventListener(“点击”,函数(事件){console.log(“点击按钮!”);});
创建并调用匿名函数:
(函数(){console.log(“代码运行!”);})();//或!函数(){console.log(“代码运行!”);}();
BCD表仅在浏览器中加载