js 在定义的时候立即执行的函数表达式(function)写法

“js 在定义的时候立即执行的函数表达式(function)写法”也称为IIFE(Immediately Invoked Function Expression)。

IIFE 是一种 JavaScript 函数,它们在定义时会立即执行自己,且不会在全局可见,即不会污染全局作用域。IIFE 最常用的场景是将代码封装在一个作用域中,以防止变量名冲突和代码污染。下面是 IIFE 的标准写法:

(function() {
  // 这里是代码块
})();

其中,函数表达式被包裹在一对小括号中,立即执行该函数的方式是在最后加上一对小括号。

示例一:将变量私有化

(function() {
  var privateVariable = "IIFE can protect me!";
  console.log(privateVariable); // "IIFE can protect me!"
})();
console.log(typeof privateVariable); // "undefined"

在这个示例中,我们创建了一个 IIFE,将变量 privateVariable 定义在函数内部。我们可以在函数内部访问该变量,但在 IIFE 外部是无法访问变量的,从而实现了变量私有化的目的。

示例二:模块化编程

var myModule = (function() {
  var privateCounter = 0;
  function privateFunction() {
    privateCounter++;
  }

  return {
    incrementCounter: function() {
      privateFunction();
    },

    getCounterValue: function() {
      return privateCounter;
    }
  };
})();

myModule.incrementCounter();
console.log(myModule.getCounterValue()); // 1
console.log(typeof privateCounter); // "undefined"

在这个示例中,我们创建了一个模块,使用了 IIFE 将模块的代码封装在一个私有作用域中。该模块包含私有变量 privateCounter 和私有函数 privateFunction。通过返回一个包含自定义函数的对象字面量,外部代码可以访问模块中的函数,而不能访问模块中的私有变量和私有函数,实现了模块化的目的。

以上就是 IIFE 的完整攻略,使用 IIFE 可以帮助我们更好地管理作用域和模块化编程。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js 在定义的时候立即执行的函数表达式(function)写法 - Python技术站

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

相关文章

  • javascript中运用闭包和自执行函数解决大量的全局变量问题

    当我们在JavaScript中编写代码时,如果不使用闭包或自执行函数,大量的全局变量就会污染全局命名空间,导致代码难以维护、调试和重构。因此,我们需要使用闭包或自执行函数来保持代码的可读性、可维护性,并且保护全局命名空间。下面是使用闭包和自执行函数解决全局变量问题的攻略: 1. 使用闭包 1.1 什么是闭包? 闭包是指在函数内部创建另一个函数,该函数可以访问…

    JavaScript 2023年6月10日
    00
  • 详解JavaScript中的箭头函数的使用

    下面是详解JavaScript中的箭头函数的使用的完整攻略。 什么是箭头函数 箭头函数是ES6新增的函数声明方式,它使用箭头(=>)代替了传统函数的声明方式,可以简化代码的书写并且更加易读。 箭头函数的语法如下: // 无参箭头函数 () => {} // 有参箭头函数 (param1, param2) => {} // 带返回值的箭头函数…

    JavaScript 2023年5月27日
    00
  • JavaScript 获取事件对象的注意点

    JavaScript 获取事件对象的注意点 在 JavaScript 中,可以通过事件处理函数获取事件对象,用来获取事件触发时的相关信息,进而进行一些处理操作。但在获取事件对象时,需要注意一些细节问题。 1. 事件处理函数的参数 事件处理函数的参数,一般是事件对象。不同的浏览器可能会有不同的参数名和获取方式,因此我们需要注意跨浏览器的兼容性问题。 一种常见的…

    JavaScript 2023年5月27日
    00
  • Javascript Boolean toSource 方法

    以下是关于JavaScript Boolean对象的toSource()方法的完整攻略。 JavaScript Boolean对象的toSource()方法 JavaScript Boolean对象的toSource()方法返回表示对象源代码的字符串。该方法只在Firefox浏览器中可用,其他浏览器不支持。 下面是一个使用Boolean对象的toSource…

    JavaScript 2023年5月11日
    00
  • HTML最新标准HTML5总结(必看)

    HTML最新标准HTML5总结(必看) 1. 什么是HTML5? HTML5标准是HTML的第五个版本,它引入了新的语义元素、表单控件、音视频标签、Canvas绘图、Geolocation地理位置、Web Storage、Web Worker等新特性,能够更好地应对现代Web应用的需求。 HTML5相对于早期的HTML版本来说,更加简单易学,语义化更强,可编…

    JavaScript 2023年5月28日
    00
  • js实现下载(文件流式)方法详解与完整实例源码

    首先,需要明确一点,下载文件大多数情况下需要后端接口进行配合,前端只需要向后端发起下载请求即可。本文介绍的js实现文件下载,是通过向后端接口发起请求获取文件流,再通过js实现文件的下载。 如何下载文件 实现文件下载的方式有很多,其中一种较为简单的方式是使用a标签进行下载。例如: <a href="http://example.com/file…

    JavaScript 2023年5月27日
    00
  • 微信小程序实现历史搜索功能的全过程(h5同理)

    好的!微信小程序实现历史搜索功能的全过程可以分为以下几个步骤: 1. 提供搜索框和搜索按钮 首先,在小程序页面中提供搜索框和搜索按钮。可以使用<input>元素和<button>元素实现。 <!– 在 wxml 文件中 –> <view class="search-box"> <i…

    JavaScript 2023年6月11日
    00
  • js刷新页面方法大全

    下面是详细讲解 “JS 刷新页面方法大全” 的攻略: 一、使用 location.reload() 方法 location.reload() 方法可以重新加载当前文档(即刷新页面)。在不传递任何参数的情况下,它将以最新的内容重新加载当前URL。 // 简洁版 location.reload(); // 带有强制刷新参数的完整版 location.reload…

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