javascript自执行函数

yizhihongxing

JavaScript自执行函数(Self-Invoking Function),又叫立即执行函数(Immediately-Invoked Function Expression,IIFE),是一种可以立即自动执行的函数。它的语法结构非常简单:

(function(){
  // code
})();

上述代码定义了一个匿名函数,并立即执行。整个函数块被包含在一对括号中,形成一个表达式,紧随其后的另一对括号表示立即执行该表达式。

自执行函数的特点:

  • 自执行函数可以让函数内部的变量不会被外部引用到,充分实现模块化。
  • 自执行函数形成一个独立的作用域,可以防止变量污染全局。
  • 自执行函数通过return语句可以向外输出变量或函数。

下面是两个使用自执行函数的示例:

示例1:模块化

let module = (function(){
  let name = 'module';
  let version = 1.0;

  function getName() {
    return name;
  }

  function getVersion() {
    return version;
  }

  return {
    getName: getName,
    getVersion: getVersion
  };
})();

console.log(module.getName());  // 输出 "module"
console.log(module.getVersion());  // 输出 1.0

上述代码使用自执行函数模拟了一个模块,内部有私有变量name和version,还有对外暴露的getName和getVersion两个方法。这样可以避免变量名冲突,保证代码的可维护性。

示例2:避免变量污染全局

(function(){
  let name = 'Alice';
  console.log('inner:', name);
})();
console.log('outer:', name);

上述代码中,内部的自执行函数定义了一个变量name并输出,在函数外部输出会报错,因为变量未定义,这样可以避免变量污染全局。

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

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

相关文章

  • JQuery在页面中添加和除移DOM示例代码

    JQuery是一个Javascript库,它提供了一些易于使用的方法,用于操作HTML页面元素以及与服务器进行异步通信。在JQuery中,我们可以轻松地通过添加DOM元素来更新页面。下面是添加和除移DOM元素的详细攻略: 添加DOM元素 可以使用以下JQuery方法来添加DOM元素: append() 使用append()方法向指定元素的最后一个子元素添加新…

    JavaScript 2023年6月10日
    00
  • ReactRouter的实现方法

    React Router是一个用于React的众所周知的网络路由库,它提供了多种方法来实现在单页面应用中创建多个视图的方法。在下面的攻略中,我们将探讨React Router的实现方法。 基本使用方法 使用React Router的第一步是使用npm安装React Router: npm install react-router-dom –save 接下来…

    JavaScript 2023年6月11日
    00
  • jQuery插件formValidator实现表单验证

    下面是详细的“jQuery插件formValidator实现表单验证”的攻略: 1. 简介 formValidator是一款基于jQuery的插件,它可以让你快速、简单地实现表单验证功能。它支持各种类型的表单元素,包括文本框、多选框、下拉列表等等。同时,它还提供了很多预定义的验证规则,如必填、邮箱、手机号码等等。 2. 安装和使用 2.1 安装 formVa…

    JavaScript 2023年6月10日
    00
  • JavaScript实现Flash炫光波动特效

    下面是JavaScript实现Flash炫光波动特效的攻略: 1. 确定动画效果 首先需要明确所需实现的动画效果。本次实现的是Flash中常见的炫光波动特效,即一个圆形或者椭圆形的波浪状光线不停地往外扩散,并有明暗变化。 2. 绘制圆形或椭圆形 在HTML或者Canvas上绘制圆形或者椭圆形,根据实际需求决定大小、颜色和位置等。可以使用HTML的CSS样式或…

    JavaScript 2023年6月10日
    00
  • JavaScript DOM 对象深入了解

    JavaScript DOM 对象深入了解 DOM(文档对象模型)是 JavaScript 访问和操作网页文档的标准。这包含了网页中所有的 HTML 元素以及它们的属性和内容。操纵 DOM 对象是前端开发中必不可少的技能之一。 DOM 对象的分类 DOM 对象可以分为以下几类: Document: 整个文档对象,即为<html>标签。 Eleme…

    JavaScript 2023年5月27日
    00
  • javascript拓展DOM操作 prependChild insertAfert

    当我们需要动态地修改网页的 DOM 结构时,JavaScript 提供了一系列的操作。其中,通过拓展 DOM 的操作方法可以更加方便地实现 DOM 结构的修改。其中,prependChild 和 insertAfter 即是其中的两个常用操作。下面,我们针对这两个操作进行详细讲解。 prependChild 方法 prependChild 方法可以在指定的父…

    JavaScript 2023年6月10日
    00
  • 超越Jquery_01_isPlainObject分析与重构

    超越Jquery_01_isPlainObject分析与重构 1. isPlainObject函数分析 isPlainObject函数用于判断传入的对象是否为纯粹的JavaScript对象。具体实现如下: function isPlainObject(obj) { var proto, Ctor; // 剔除null和非对象类型 if (!obj || {}…

    JavaScript 2023年6月11日
    00
  • JS中async/await实现异步调用的方法

    那么我们来详细讲解下JS中async/await实现异步调用的方法。 使用场景 在JS中,异步调用是很常见的需求。异步调用通常指的是请求服务器数据、操作浏览器本地存储、读取文件等这样一些会长时间阻塞JS的操作。这些操作通常要用到回调函数处理异步操作结果。而使用async/await可以让异步操作更加简单、直观,避免了回调地狱的问题。 Async/await工…

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