美文网首页
立即执行函数表达式与闭包

立即执行函数表达式与闭包

作者: Grit0821 | 来源:发表于2019-07-10 16:15 被阅读0次

1立即执行函数函数表达式(IIFE)

  1. 需要return结果
    ( function( ){...} ) () 或者 ( function( ){...}() )
    举例:通过IIFE给变量a赋值
var a = (function() {
  return(12)
})
  1. 不需要return结果
    !function( ){...}( )
    举例:通过立即执行函数改变b的值
var b = 5
!function(){
  b++
}( )

2闭包

2.1什么是闭包

函数函数内部能访问到的变量 的总和就是一个闭包。

  • example1:
!function(){
  val local = 5
  function foo (){
    console.log(local)
  }
}()

local变量foo函数就组成了闭包,立即执行函数是为了创造一个局部作用域,避免外部访问local变量。此例含有闭包但是还无法使用。

  • example2:
function foo(){
  var local = 1
  function bar(){
    local++
    return local
  }
  return bar
}

var func = foo()
func()

local变量bar 函数就组成了闭包,通过foo函数return bar 可以使用闭包(提供一个外部访问的接口,也可以使用window.bar = bar

2.1闭包的作用

  • 闭包用来间接访问变量,将重要的变量放在函数的作用域内,通过提供一个间接访问的函数来访问变量;
  • 闭包是JS函数作用域的副产品,因为JS 的函数内部可以使用函数外部的变量。

相关文章

  • 关于立即执行函数IIFE

    [译] JavaScript:立即执行函数表达式(IIFE) IIFE保存闭包的状态 就像当函数通过他们的名字被调...

  • JavaScript闭包(三)

    目录 1.执行环境与作用域链 2. 立即执行函数 3. 闭包知识点 3.1 什么是闭包 3.2 使用闭包的意义与注...

  • 闭包与立即执行函数

    在学习js的过程中,我们都会遇到闭包和立即执行函数的相关概念,今天就这两个概念做一个大致的整理。 本文结构: 闭包...

  • 理解闭包

    什么是「闭包」。 「闭包」的作用是什么。在一个立即执行函数当中: 首先,假设以上几行代码运行在立即执行函数当中,那...

  • IIFE(Immediately-invoked functio

    一、立即执行函数五花八门的写法: 二、立即执行函数与闭包的暧昧关系 像普通的函数传参一样,立即执行函数也能传参数。...

  • es5核心技术

    立即执行函数 函数提升和变量提升 闭包 this 原型链实现继承

  • JavaScript基础(下)函数、OOP、正则表达式

    函数 函数定义 函数声明与表达式 this与调用方式 函数属性与arguments 闭包和作用域 ES3执行上下文...

  • JS重要概念之立即执行函数与闭包高级

    #立即执行函数表达式IIFE,简称“立即执行函数” 立即执行函数表达式,IIFE(immediately-invo...

  • 立即执行函数表达式与闭包

    1立即执行函数函数表达式(IIFE) 需要return结果( function( ){...} ) () 或者 (...

  • javascript立即执行函数和闭包

    闭包 概念:当内部函数被保存到外部时,将会生成闭包。闭包会导致原有作用域链举例分析: 闭包的应用: 立即执行函数 ...

网友评论

      本文标题:立即执行函数表达式与闭包

      本文链接:https://www.haomeiwen.com/subject/cxwckctx.html