浅析Javascript匿名函数与自执行函数

浅析Javascript匿名函数与自执行函数

在Javascript编程中,匿名函数(Anonymous Function)和自执行函数(Immediately Invoked Function Expression,简称IIFE)是两个常被使用的概念。本文将深入浅出地讲解这两个概念的定义、用法和区别。

匿名函数

匿名函数就是没有名字的函数,也称为函数表达式(Function Expression)。和有名函数(Function Declaration)不同,匿名函数无法在自身内部递归调用。

使用匿名函数的形式如下:

var func1 = function(){
    console.log('This is an anonymous function.');
}

自执行函数

自执行函数是指,在创建函数之后立即执行该函数,不需要先调用函数的名称。自执行函数可以被认为是一种匿名函数的特殊形式。

使用自执行函数的形式如下:

(function(){
    console.log('This is a self-executing function.');
})();

自执行函数以一对括号包裹匿名函数,并在末尾加上一对括号,这样匿名函数就立即执行了。

由于自执行函数是一个函数表达式,所以它的括号不能被省略,否则会变成函数声明。

IIFE可以传递参数,例如:

(function(msg){
    console.log(msg);
})('Hello World');

匿名函数和自执行函数的区别

  1. 匿名函数可以赋值给变量或属性,以便后续使用,而自执行函数无法再次使用。
  2. 每个IIFE都有自己的作用域,因此IIFE中定义的变量不会污染全局命名空间。

示例说明

示例1:匿名函数

var func1 = function(){
    console.log('This is an anonymous function.');
}

func1(); // This is an anonymous function.

以上示例创建了一个匿名函数,并将它赋值给函数表达式func1。调用func1()时,控制台输出This is an anonymous function.

示例2:自执行函数

(function(){
    console.log('This is a self-executing function.');
})();

以上示例定义了一个自执行函数,直接执行了其中的代码,控制台输出This is a self-executing function.

示例3:自执行函数传参

(function(msg){
    console.log(msg);
})('Hello World');

以上示例定义了一个带参数的自执行函数,调用时传递参数Hello World,控制台输出Hello World

总结

本文介绍了匿名函数和自执行函数的定义、用法和区别,并通过示例对两者进行了解释说明。掌握这两个概念可以提高Javascript编程的灵活性和效率。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅析Javascript匿名函数与自执行函数 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • js获取对象、数组的实际长度,元素实际个数的实现代码

    获取对象、数组的实际长度和元素实际个数是 JavaScript 开发中常见的需求,下面是实现代码的完整攻略。 获取对象实际长度的代码 JavaScript 中获取对象实际长度的方法与获取数组长度的方法是相似的,可以利用 Object.keys() 函数和 for…in 循环来实现。这里我们提供两种方法: 方法一:利用 Object.keys() 函数 c…

    JavaScript 2023年5月27日
    00
  • JS字符串补全方法padStart()和padEnd()

    一、JS字符串补全方法概述 在 ES2017 中,新增了两个字符串方法:padStart 和 padEnd。这两个方法主要用于在字符串开头或结尾填充指定的字符串使其达到给定的长度。这些方法可以很方便地增强字符串格式化的能力。 padStart():在当前字符串开头填充指定的字符串,直到达到指定的长度。如果当前字符串的长度大于或等于指定的长度,则返回原始字符串…

    JavaScript 2023年5月28日
    00
  • BootStrap智能表单demo示例详解

    下面是 “BootStrap智能表单demo示例详解” 的完整攻略: 前言 在前后端分离的项目中,表单是不可或缺的一部分。如何在前端中实现一个智能表单,可以提高用户的填写效率和体验,本文介绍了如何使用 Bootstrap 实现智能表单的演示示例。 准备工作 在开始之前,我们需要先引入 Bootstrap 和 jQuery 库。当然,您也可以使用 CDN 进行…

    JavaScript 2023年6月10日
    00
  • 一些不错的JS 自定义函数第2/2页

    一些不错的JS 自定义函数攻略第2/2页 简介 在前一篇攻略中,我们介绍了一些有用的JS自定义函数,并且分析了他们的应用场景和使用方法。在本篇攻略中,我们将继续介绍一些实用的JS自定义函数。 目录 本文将会介绍以下JS自定义函数: debounce throttle trim debounce 函数名称:debounce 函数功能:函数防抖。在一定时间内,如…

    JavaScript 2023年5月27日
    00
  • JavaScript高级程序设计 学习笔记 js高级技巧

    JavaScript高级程序设计 学习笔记 js高级技巧 概述 《JavaScript高级程序设计》是一本深入讲解JavaScript核心概念和高级技巧的经典著作。对于想要深入学习JavaScript的开发者来说,这本书是非常好的选择。本文将会分享我对该书学习过程的笔记和总结。 学习笔记 第一部分 基础知识 第一部分主要介绍了一些JavaScript的基础知…

    JavaScript 2023年5月18日
    00
  • WebStorm 断点调试方法

    下面是关于WebStorm断点调试方法的完整攻略: 1.准备工作 首先,我们需要做一些准备工作:- 确保你已经安装了WebStorm,并且项目已经被成功打开。- 确认你已经开启了“Debugging”模式,可通过框架、命令行或通过WebStorm的启动配置来实现该目的。 2.设置断点 在代码中选中需要设置断点的一行,右键点击并选择“Toggle Breakp…

    JavaScript 2023年6月11日
    00
  • JavaScript的八种数据类型

    JavaScript的八种数据类型 JavaScript 的数据类型共分为 8 种,分别为: 原始类型:number、string、boolean、null、undefined、Symbol 引用类型:Object 原始类型 原始类型的值是简单的数据段,可以直接存储在变量中。 1. number 数字类型 尽管 JavaScript 中只有一种数字类型,但是…

    JavaScript 2023年5月18日
    00
  • javascript之Partial Application学习

    JavaScript之Partial Application学习 在JavaScript中,我们经常需要使用函数来处理数据。在函数式编程中,函数通常被看作是一种“一等公民”,也就是说,函数可以像其他数据类型一样被传递、存储和操作。Partial Application是函数式编程中很重要的概念之一,本篇攻略将全面介绍Partial Application的相…

    JavaScript 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部