JavaScript函数定义分声明、表达式和箭头函数:声明会被提升且必须具名;表达式不提升,可匿名或具名;箭头函数无this绑定;调用均为fn(...)形式,IIFE需括号包裹后立即执行。

JavaScript 中的函数可以通过多种方式定义,调用方式也因定义形式略有不同,核心在于理解“声明”和“表达式”的区别,以及函数是否具名。
函数声明(Function Declaration)
使用 function 关键字 + 函数名 + 参数列表 + 函数体来定义,会被提升(hoisted),可在定义前调用:
-
语法:
function sayHello(name) { return 'Hello, ' + name; } - 调用直接写函数名加括号:
sayHello('Alice'); - 注意:函数名是必需的,不能省略
函数表达式(Function Expression)
把函数赋值给一个变量,常见于 const/let/var 声明中,不会被提升,必须先定义再调用:
-
语法:
const add = function(a, b) { return a + b; }; - 调用:
add(2, 3); // 5 - 可选具名(用于调试或递归):
const factorial = function fact(n) { return n
箭头函数(Arrow Function)
ES6 引入的简洁写法,没有自己的 this、arguments,也不能作为构造函数:
标签: javascript java go 区别 作用域
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~