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

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

函数的定义:

第一种: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')()//调用内部函数
目录
相关文章
|
3月前
|
JavaScript 前端开发
箭头函数可以使用哪些方式定义
箭头函数是ES6引入的一种新的函数定义方式,使用`=&gt;`符号。它可以简化函数的书写,主要有两种定义方式:1. 简单表达式,如`const fn = () =&gt; {}`;2. 带参数表达式,如`const fn = (arg) =&gt; {}`。
|
3月前
|
JavaScript
箭头函数与普通函数(function)的区别
箭头函数是ES6引入的新语法,相比传统函数表达式更简洁,且没有自己的this、arguments、super或new.target绑定,而是继承自外层作用域。这使得箭头函数在处理回调和闭包时更加灵活方便。
匿名函数 嵌套函数 高级函数
匿名函数 嵌套函数 高级函数
|
5月前
|
缓存 JavaScript 前端开发
函数的定义、调用、箭头函数、闭包
函数的定义、调用、箭头函数、闭包
33 2
Python函数:函数的定义和调用
本文详细介绍了Python函数的定义和调用方法,包括基本函数定义、参数传递、返回值、文档字符串、作用域、嵌套函数和闭包。通过一个综合详细的学生成绩管理系统的例子,我们展示了如何在实际编程中应用这些函数概念。希望本文对您理解和应用Python函数有所帮助。
|
6月前
|
自然语言处理 JavaScript 前端开发
理解闭包的定义
【7月更文挑战第10天】闭包是编程中的关键概念,特别是函数式编程中。它是函数及其相关引用环境的组合,能访问词法作用域内外的变量,即使外部函数已执行完毕。闭包提供封装私有变量、保持状态、延迟执行的功能,常用于模块化、函数工厂、模拟私有方法和回调。JavaScript中通过函数嵌套实现闭包,但也可能导致内存泄漏和性能问题。
127 2
|
6月前
|
JavaScript
S外部函数可以访问函数内部的变量的闭包-闭包最简单的用不了,闭包是内层函数+外层函数的变量,简称为函数套函数,外部函数可以访问函数内部的变量,存在函数套函数
S外部函数可以访问函数内部的变量的闭包-闭包最简单的用不了,闭包是内层函数+外层函数的变量,简称为函数套函数,外部函数可以访问函数内部的变量,存在函数套函数
|
8月前
|
JavaScript 前端开发 开发者
箭头函数的意义和函数的二义性
这篇文章介绍了箭头函数的特点以及与普通函数的区别。它指出了箭头函数没有this、arguments对象和prototype原型的特点,因此不能作为构造函数使用。文章还解释了函数的二义性问题,即函数可以有多种调用方式,这在JS设计上存在缺陷。最后,文章指出箭头函数不再依赖面向对象的概念,因此没有this和原型的概念。
|
8月前
|
JavaScript 前端开发
箭头函数和普通函数的区别
箭头函数和普通函数的区别
42 3
|
8月前
|
存储 Python 容器
python函数的返回值、嵌套方式以及函数中的变量(一)
python函数的返回值、嵌套方式以及函数中的变量(一)
267 2