js 立即调用的函数表达式如何写

JS 立即调用的函数表达式(Immediately Invoked Function Expression,IIFE)是一种常见的编程模式,用于在定义时立即执行一个函数,并将其作用域保持在该函数内部,以避免变量污染全局作用域。下面是如何编写JS立即调用的函数表达式的完整攻略:

基本语法

(function() {
  // 函数体
})();

该语法使用了最基本的IIFE语法结构,它由一个匿名函数表达式和一个立即调用的括号包裹而成。注意,最外层的括号可以是()也可以是!+-~void等符号。这是因为JS的解析器会将以(开头的语句认为是表达式而非函数声明。

这个匿名函数本质上是一个闭包,可以访问该函数所在的作用域中的变量和函数。在IIFE内部定义的所有变量和函数都是局部作用域。当在函数体内部执行return语句时,可以将其返回值传递给外部作用域。

传入参数

(function(num) {
  console.log(num);
})(42);

IIFE可以接收传入的参数,并在函数体内使用。在括号内部,可以传递任意数量的参数,用逗号分隔。在函数体内部,可以像普通函数一样使用这些参数。

暴露接口

let result = (function() {
  let privateVariable = 'private';
  return {
    publicVariable: 'public'
  }
})();
console.log(result.publicVariable); // 'public'
console.log(result.privateVariable); // undefined

通过将函数的返回值返回给一个变量,可以将函数内部的变量和功能暴露出去。在上面的例子中,privateVariable是一个私有变量,只能在函数内部访问。通过将返回值定义为一个对象,可以将公共变量publicVariable暴露出来。

在调用时,可以访问publicVariable属性,但不能访问privateVariable属性。这种模式称为模块化模式,在处理代码库时非常有用。

总的来说,IIFE是一种强大且灵活的编程模式,可以使任何代码更加干净、可读、可维护,同时也更加安全。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js 立即调用的函数表达式如何写 - Python技术站

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

相关文章

  • JQuery将字符串转为json对象的四种方法

    下面是详细的讲解: 背景 在开发过程中,我们经常需要将字符串转换成 JSON 对象,然后进行操作。而 JQuery 提供了四种方法来完成这项任务。下面我们逐一来了解这四种方法。 方法一:$.parseJSON() 这是最常用的方法,直接调用这个方法即可将字符串转换为 JSON 对象。 var str = ‘{"name": "张…

    JavaScript 2023年5月27日
    00
  • js禁止document element对象选中文本实现代码

    下面我来详细讲解一下如何通过JavaScript禁止document element对象选中文本实现代码。 方法一:利用CSS属性禁止选中文本 我们可以利用CSS属性来实现禁止选中文本的效果,具体方法如下: 在需要禁止选中文本的元素上加入以下CSS代码: -webkit-user-select: none; -moz-user-select: none; -…

    JavaScript 2023年6月10日
    00
  • JS判断是否手机或pad访问实现方法

    JS判断是否手机或pad访问实现方法: 使用UA字符串进行判断 一般来说,移动设备的UA字符串中都会包含“Mobile”或“Tablet”等相关信息,通过判断UA中是否包含这些信息可以判断当前设备是否为移动设备,进而进行相应的访问适配。 下面是一个示例代码,可以通过正则表达式判断UA字符串中是否包含“Mobile”或“Tablet”: function is…

    JavaScript 2023年6月10日
    00
  • 一些你可能不熟悉的JS知识点总结

    一些你可能不熟悉的JS知识点总结 理解JS中的this指向 在 Javascript 中,“this”是一个关键字,它指向函数执行时的上下文对象。在全局作用域中,“this”指向全局对象(window / global),在函数内部,“this”指向函数调用时的“拥有者”(即调用该函数的对象)。更多的用法和示例请参考以下代码: let obj = { nam…

    JavaScript 2023年5月28日
    00
  • chrome监听cookie变化与赋值问题

    针对“chrome监听cookie变化与赋值问题”的完整攻略,我们可以分为以下几个步骤: 1. 调试页面的cookie 在进行cookie监听和赋值之前,先要确保你的页面中已经存在cookie。可以通过chrome的开发者工具来进行调试。具体操作方法如下: 打开Chrome浏览器,进入需要调试的网站。 按下F12键或者右击页面空白处选择“检查”,打开开发者工…

    JavaScript 2023年6月11日
    00
  • 详解JavaScript如何优雅地实现创建多维数组

    JavaScript如何优雅地实现创建多维数组 在JavaScript中,创建多维数组可以使用嵌套的数组方式实现,但这种方式不够优雅,可以使用ES6的Array.from()方法和reduce()方法来实现创建多维数组。 使用Array.from()方法创建多维数组 Array.from()方法可以将一个类似数组或可迭代对象转化为一个真正的数组。这个方法接受…

    JavaScript 2023年5月27日
    00
  • JavaScript函数的使用教程

    JavaScript函数的使用教程 JavaScript函数是一个独立的可重复使用的代码块,用于执行特定的任务或计算。函数可以接收输入参数和返回计算结果,非常有用。在这份教程中,我们将介绍JavaScript函数的使用和定义。 定义和使用函数 函数的定义使用function关键字,后面跟着函数名。函数可以包含一系列的语句和计算逻辑。下面是一个简单的计算乘积的…

    JavaScript 2023年5月18日
    00
  • javascript object array方法使用详解

    好的!那我来给您介绍一下“JavaScript Object Array 方法使用详解”的完整攻略。 JavaScript Object Array 方法详解 概述 在 JavaScript 开发中,数组是常用的一种数据类型,我们经常需要对数组进行一些操作。在操作数组时,JavaScript 提供了一些内置的对象方法,这些方法可以帮助我们完成数组的操作。本篇…

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