本文详细介绍了JavaScript中的四种函数定义方式,包括普通函数、var与new关键字创建函数,箭头函数以及闭包的概念。还探讨了函数的调用、传参和闭包的优点与缺点。
函数的定义:
第一种:function 函数名(){函数体}
第二种: var 函数名 = new function (“参数列表”,“函数体”)
第三种: var 函数名 = new function(){函数体}
第四种: var 函数 = function(){函数体}
函数的调用:
函数名()//需要在哪里调用就放在哪里
函数的传参:
实参:<div οnclick=”fun(123)”></div>
形参:function fun(i) {}
箭头函数:
是一种声明函数的简洁语法,他与普通函数并无本质上的区别,差异就是语法格上
let fn = a => { return a * a };
闭包:因为作用域的存在,函数内部可以直接读取全局变量,而函数内部无法读取函数内部的局部变量
闭包就是在一个函数内部创建另一个函数,让你可以在一个内层函数中访问到其外层函数的作用域。又
或者说,闭包就是能够读取其他函数内部变量的函数,本质上函数内部变量的函数。
优点:保证函数不受外界干扰,实现封装,避免命名冲突,可以在内存中保存函数前两,充当缓存
缺点:内存消耗很大,容易造成内存泄露,要谨慎使用。
function fn(a){ return function(){ //访问道这个a console.log(a); } } console.log(fn('hello'));//调用外部的函数 fn('hello')()//调用内部函数