JavaScript函数有三种定义方式:函数声明、函数表达式和箭头函数;前者具提升性且可作构造函数,后两者不可;箭头函数无this、arguments、prototype,适合回调等无需动态绑定的场景。

JavaScript 中函数主要有三种定义方式:函数声明、函数表达式(含匿名函数)、箭头函数。它们在语法、this 绑定、arguments 支持、new 调用能力等方面有本质区别。
函数声明:使用 function 关键字 + 函数名,会被提升(hoisted),可提前调用。
function sayHello() {
return "Hello";
}函数表达式:将函数赋值给变量,不被提升(仅变量声明提升),调用需在定义之后。
const sayHi = function() {
return "Hi";
};箭头函数:ES6 引入的简写形式,没有自己的 this、arguments,不能用作构造函数。
立即学习“Java免费学习笔记(深入)”;
const greet = () => "Hey";
arguments 类数组;箭头函数中访问会报错,需用剩余参数 ...args 替代。new fn() 会抛出 TypeError;普通函数可以。new.target 始终为 undefined,无法判断是否被 new 调用。fn.prototype,用于实现原型链继承;箭头函数没有该属性。适合用于:不需要独立 this、不需 arguments、不需 new 实例化 的场景,比如:
array.map(x => x * 2)、setTimeout(() => {...}, 100))bind(this))需要以下任一特性时,必须使用普通函数(function 声明或表达式):
arguments 处理不定参数(尽管推荐用 ...rest)new 创建实例(如自定义类、工具构造器)prototype 实现继承或共享方法yield 写 generator 函数(箭头函数不支持)以上就是javascript函数有哪些定义方式_箭头函数和普通函数有何不同?的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号