JavaScript创建函数有四种方式:函数声明(具名、可提升)、函数表达式(匿名或具名、不可提升)、箭头函数(无this/arguments、不可构造)、Function构造函数(动态生成、性能差)。

在 JavaScript 中创建函数主要有四种常用方式,每种适用场景不同,理解区别能帮你写出更清晰、更可靠的代码。
函数声明(Function Declaration)
最基础的方式,用 function 关键字加函数名定义,会被“提升”(hoisted),即可以在定义前调用。
语法示例:
function sayHello(name) {
return `Hello, ${name}`;
}
注意:函数声明必须有名字,且不能出现在 if、for 等块级作用域内(ES2015+ 在严格模式下会报错)。
立即学习“Java免费学习笔记(深入)”;
函数表达式(Function Expression)
把函数赋值给变量,可以是具名或匿名。不会被提升,必须先定义再调用。
常见写法:
匿名函数表达式:const add = function(a, b) { return a + b; };具名函数表达式:const calc = function sum(a, b) { return a + b; };(内部可用 sum 递归调用)
箭头函数(Arrow Function)
ES6 引入的简洁写法,没有自己的 this、arguments、super 或 new.target,适合写简短逻辑或回调。
写法灵活:
单参数可省括号:x => x * 2多参数需括号:(a, b) => a + b函数体多行需花括号和 return:() => { console.log(‘hi’); return true; }
⚠️ 不能用作构造函数(不能 new),也没有原型属性。
Function 构造函数
动态创建函数,传入参数名和函数体字符串,类似 eval,性能差且不推荐常规使用,仅在极少数需要运行时生成逻辑的场景下考虑。
示例:
const multiply = new Function(‘a’, ‘b’, ‘return a * b’);
缺点:无法访问外层作用域(闭包),调试困难,存在安全风险(避免拼接用户输入)。
基本上就这些。日常开发中,优先用函数声明或箭头函数;需要绑定固定 this 时选箭头函数;要动态生成或兼容老环境时再考虑其他方式。
以上就是如何创建函数_javascript中有哪些方式?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1542963.html
微信扫一扫
支付宝扫一扫