| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> JavaScript中的立即执行函数 -> 正文阅读 |
|
[JavaScript知识库]JavaScript中的立即执行函数 |
JavaScript中的立即执行函数立即调用函数表达式(IIFE)是一个在定义时就会立即执行的 JavaScript 函数。 关于 IIFE (Immediately Invoked Function Expression 立即调用函数表达式)可见IIFE(立即调用函数表达式) - 术语表 | MDN 在一般情况下,函数必须先调用才能执行,例如: function fn(){ ??? console.log("hello"); } fn(); //调用 如果不调用的话,不会自动执行显示结果。 所谓立即执行函数,就是不需要调用,立马就能执行的函数。 立即执行函数的写法: (function(){})() 【也可以写为 (function(){}())】 立即执行函数中后面的小括号就相当于调用函数,可以给立即执行函数传参数,将我们要传递的参数写在后面的()里面,作为实参。例如: (function fn(a,b){ ??? console.log('a+b='+(a+b)); ?})(1,2) 或 (function fn(a,b){ ??? console.log('a+b='+(a+b)); ?}(1,2)) 如果有多个立即执行函数,他们之间需要逗号分隔,否则会报错。同时,在立即执行函数里面,也可以采用匿名函数的形式书写。 普通函数中的变量不能从外部访问,但普通函数内部可以访问外部的变量,在这点上,立即执行的函数和普通函数类似,立即执行的函数中的变量不能从外部访问,但立即执行函数内部可以访问外部的变量。下面给出具体示例: 在一个函数(function)中定义的变量不能从这个函数外部的任何地方访问,因为这个变量的作用域仅在这个函数的内部。 function numbers() { ? var num1 = 2, num2 = 3; ? return num1 + num2; } numbers (); //5 console.log(num1); //Uncaught ReferenceError num1 is not defined 一个函数可用使用在它所被定义的作用域中的所有变量【换句话说,当一个函数被定义在全局作用域的时候,它可以访问所有在全局作用域中定义的变量】。 var num1 = 2, num2 = 3; function numbers() { ? return num1 + num2; } numbers(); //5 console.log(num1); //2 立即执行函数在这点上 和普通函数(function)类似 立即执行的函数中的变量不能从外部访问。 (function() { ? var num1 = 2, num2 = 3; ? return num1 + num2; })(); //5 console.log(num1); // /Uncaught ReferenceError num1 is not defined 立即执行的函数可用使用在它所被定义的作用域中的所有变量。 var num1 = 2, num2 = 3; (function() { ? return num1 + num2; })(); //5 console.log(num1); //2 下面给出一个在HTML文件中使用立即执行函数的的例子,源码如下:
保存文件名为:在HTML中使用立即执行函数的例子.html 运行效果: ? 附录 ReferenceError: "x" is not definedReferenceError: "x" is not defined - JavaScript | MDN Function(函数)Function(函数) - 术语表 | MDN |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 12:41:31- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |