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

yizhihongxing

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日

相关文章

  • javascript中神奇的 Date对象小结

    让我用Markdown格式为您撰写关于“javascript中神奇的 Date对象小结”的完整攻略吧。 JavaScript中神奇的Date对象小结 Date对象时JavaScript中用来处理日期和时间的内置对象,它允许我们创建、操作和格式化日期和时间。在这份攻略中,我们将深入了解Date对象的相关应用。 创建Date对象 要创建Date对象,我们简单地使…

    JavaScript 2023年6月10日
    00
  • js使用对象直接量创建对象的代码

    通过使用对象直接量,我们可以方便快捷地创建JavaScript对象。在这篇攻略中,我将详细介绍如何使用对象直接量来创建对象,并提供两个示例以帮助您更好地理解。 什么是对象直接量? JavaScript对象可以通过使用对象直接量的方法来创建。对象直接量使用一对花括号 {} 来包含对象的属性和方法。下面是一个使用对象直接量创建对象的示例代码: var perso…

    JavaScript 2023年5月27日
    00
  • JavaScript利用fetch实现异步请求的方法实例

    下面是针对“JavaScript利用fetch实现异步请求的方法实例”的完整攻略: 什么是fetch? fetch是浏览器原生的一种实现网络请求的API,主要用于替代传统的XMLHttpRequest(XHR)对象,它使用Promise对请求进行异步处理,更加方便和易用。 fetch的基本使用 fetch API 接收一个URL参数,其返回一个Promise…

    JavaScript 2023年5月28日
    00
  • 统一接口:为FireFox添加IE的方法和属性的js代码

    为Firefox浏览器添加IE的方法和属性的js代码,需要使用jQuery以及XMLHttpRequest对象来实现。 以下是添加IE方法的代码: // 为IE的String对象添加contains方法 if (!String.prototype.contains) { String.prototype.contains = function(str, st…

    JavaScript 2023年6月10日
    00
  • JS 文件传参及处理技巧分析

    JS文件传参及处理技巧分析 在JavaScript中,文件传参是一个非常常见的操作,尤其是在web开发中。在本文中,我们将介绍文件传参的一些技巧和处理方法。 传统方式:URL参数传递 在web开发中,最常见的文件传参方式是通过URL参数传递。这种方式将参数作为URL的一部分,通常被称为GET方式。以下是一个典型的URL参数的例子: http://exampl…

    JavaScript 2023年5月27日
    00
  • javascript 操作符(~、&、|、^、<<、>>)使用案例

    JavaScript 操作符使用攻略 JavaScript 中提供了丰富的操作符,包括算术、比较、逻辑、位移、位运算等等,其中比较少用到的是位运算。本文将详细讲解与位运算相关的操作符 ~、&、|、^、<<、>>,并且提供两个常见的使用案例。 理解位运算 位运算指的是直接对二进制数字进行运算,它常常被用在对整型数字进行一些特殊的…

    JavaScript 2023年5月18日
    00
  • JS对象复制(深拷贝和浅拷贝)

    JS对象复制主要分为两种,浅拷贝和深拷贝。浅拷贝只复制原始对象的引用,而深拷贝则是将整个对象复制一份,两者在实际应用场景中均有各自的优势和劣势。 浅拷贝 浅拷贝并不复制对象本身,而是复制对象的引用,因此两个变量指向的是同一个对象,当对象发生改变时,另一个变量也会跟着变化。浅拷贝通常使用Object.assign,Array.slice或展开符等操作。 以Ob…

    JavaScript 2023年5月27日
    00
  • JavaScript接入百度地图API的方法步骤

    JavaScript接入百度地图API的方法步骤: 1.在百度地图开放平台上申请API key 首先需要在百度地图开放平台上注册账号并申请一个API key,申请成功后可以将这个key填入JavaScript中相关的API调用代码中。API key同时也是百度地图开放平台对使用者的身份认证标识。 2.引入百度地图JavaScript API库 在HTML代码…

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