函数的定义、调用、箭头函数、闭包

简介: 函数的定义、调用、箭头函数、闭包

本文详细介绍了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')()//调用内部函数
目录
相关文章
|
4月前
1-8 函数定义和调用
1-8 函数定义和调用
20 0
|
4月前
|
编译器
关于被调用函数的声明和函数原型
在编程中,当我们在一个源文件中调用一个在其他源文件中定义的函数时,就需要对该函数进行声明,以便编译器知道该函数的存在、其返回类型以及它接受的参数类型和数量。这种声明通常被称为函数原型或函数的前向声明。
55 0
|
4月前
|
Python
函数嵌套调用
函数嵌套调用
39 1
Python函数:函数的定义和调用
本文详细介绍了Python函数的定义和调用方法,包括基本函数定义、参数传递、返回值、文档字符串、作用域、嵌套函数和闭包。通过一个综合详细的学生成绩管理系统的例子,我们展示了如何在实际编程中应用这些函数概念。希望本文对您理解和应用Python函数有所帮助。
|
3月前
|
C++
C++一分钟之-函数定义与调用
【6月更文挑战第19天】在C++中,函数是代码复用的关键,它们促进模块化和可读性。了解函数定义(返回类型、函数名、参数列表和函数体)和调用至关重要。示例中展示了如何定义如`add`的函数及如何调用。常见错误包括参数类型不匹配、缺少原型声明、忽略返回值和误解函数重载。通过正确声明、匹配类型、处理返回值和理解重载规则,可以避免这些问题。实战代码示例演示了良好实践。
25 1
|
2月前
|
JavaScript
S外部函数可以访问函数内部的变量的闭包-闭包最简单的用不了,闭包是内层函数+外层函数的变量,简称为函数套函数,外部函数可以访问函数内部的变量,存在函数套函数
S外部函数可以访问函数内部的变量的闭包-闭包最简单的用不了,闭包是内层函数+外层函数的变量,简称为函数套函数,外部函数可以访问函数内部的变量,存在函数套函数
|
4月前
|
安全 C++
函数参数传递
函数参数传递
|
3月前
箭头函数和普通函数的区别
箭头函数和普通函数的区别
17 0
|
4月前
|
JavaScript 前端开发 开发者
箭头函数的意义和函数的二义性
这篇文章介绍了箭头函数的特点以及与普通函数的区别。它指出了箭头函数没有this、arguments对象和prototype原型的特点,因此不能作为构造函数使用。文章还解释了函数的二义性问题,即函数可以有多种调用方式,这在JS设计上存在缺陷。最后,文章指出箭头函数不再依赖面向对象的概念,因此没有this和原型的概念。
|
4月前
05-python之函数-函数的定义/函数的参数/函数返回值/函数说明文档/函数的嵌套使用/函数变量的作用域
05-python之函数-函数的定义/函数的参数/函数返回值/函数说明文档/函数的嵌套使用/函数变量的作用域