展开

关键词

立即执行函数

立即执行函数(IIFE),也叫做自执行函数,就是不需要调用就立马执行的函数。 () { } 立即函数有两种常见格式: (function() { console.log(999) }()) (function() { console.log(999) })() 这两种格式都能保证函数立马执行 ,这也是立即函数的基础常见的格式,()运算符加上匿名函数,还有另外几种格式也能立即执行: ! 、+、-、=和函数表达式都能打到立即执行。上面的方法,是匿名函数加上运算符,其实把匿名函数都换成函数声明也是一样的,也能变成立即执行函数: ! function fun() { console.log(999) }() 那么我们为什么要使用立即函数呢?

44240

js 立即执行函数

立即执行函数 目录 立即执行函数 作用 参数 返回值 立即执行函数 立即执行函数模式是一种语法,可以让你的函数在定义后立即执行立即执行函数的组成 定义一个函数 将整个函数包裹在一对括号中 将函数声明转换为表达式 在结尾加上一对括号 让函数立即执行 代码实例 (function () { console.log(" + who) })("kangkang") 代码实例2 (function (global) { console.log(global) })(this) 通常,全局变量被作为一个参数传递给立即执行参数 注意 通常你不应该给立即执行函数传递太多的参数,因为它很快会成为一个负担——为了理解代码是如何工作的,你不得不经常上下滚动源代码。 返回值 就像其它任何函数一样,一个立即执行函数也能返回值并且可以赋值给其它变量。 var num = (function () { return 4 })() console.log(num)

93520
  • 广告
    关闭

    腾讯云服务器买赠活动

    腾讯云服务器买赠活动,低至72元1年,买就送,最长续3个月,买2核送4核、买4核送8核

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    理解JavaScript立即执行函数

    IIFE (Immediately Invokable Function Expressions):是在函数声明后立即调用的函数表达式。 立即执行函数通常包含两种使用格式,具体使用那一种风格可以根据个人习惯和团队规范选择: // 第一种: (function() {/* */})(); // 第二种: (function(){/* */ }()) // 也可以使用箭头函数声明 ;(() => {/* */}()) 数学符号都会导致函数立即执行,因为JavaScript引擎会将函数判断为表达式,而不是函数声明。 function(){}(); +function(){}(); -function(){}(); ~function(){}(); new关键字也会导致函数被立即执行

    38130

    JS立即执行函数的学习

    格式: 格式一:(function(){})() 格式二:(funtion(){}()) 理解:   立即执行函数会将声明的函数表达式执行。 var rxr=r.control={}; var ff=22; rxr.ss=11; rxr.aa=function(){ console.log('执行

    42820

    深入理解立即执行函数

    前言 立即执行函数常用于第三方库,它可以用来隔离变量作用域,很多第三方库都会存在大量的变量和函数,在ES5环境下为了避免变量污染,开发者想到的解决办法就是使用立即执行函数。 本文就跟大家分享下立即执行函数的相关知识点,欢迎各位感兴趣的开发者阅读本文。 ,当你的代码在不支持ES6+的浏览器上运行时,你不得不求助立即执行函数来模拟。 上述两种写法是等价的,要想立即执行函数做到立即执行,要注意两点: 函数体后面要有小括号 函数体必须是函数表达式而不能是函数声明 函数的声明方式 在讲它们两者之间的区别之前,我们先来了解下js函数的两种声明方式 ,我们知道函数体后面跟着小括号,这个函数就会立即执行

    9930

    你真的知道『立即执行函数』吗?

    立即执行函数,经常使用,但是你确定了解它嘛? 下面,就来看看吧! 1、定义 立即执行函数,又称IIFE. 3、立即执行函数的使用 声明后,直接加(); 将会报语法错误,执行符号只能跟在函数表达式后面 示例: function test(){ console.log('Function declaration '); }() 报错:Uncaught SyntaxError: Unexpected token ')' 原因:立即执行函数 ,是执行函数表达式,而不是函数声明式 4、函数表达式 当一个函数需要立即执行的情况 且函数名不能在外部使用 8、立即执行函数的好处 1、可以创建一个与外界没有任何关联的作用域,独立作用域 2、执行完成后,自动销毁 3、ES3 ES5 立场上是没有模块的模仿,可用立即执行函数来模拟模块化 今天的分享就到这,还有关于立即执行函数的其它问题,欢迎提问

    7620

    前端面试之立即执行函数

    什么是立即执行函数 声明一个函数,并马上调用这个匿名函数就叫做立即执行函数。在定义好一个函数后,直接执行立即执行函数的写法 有时候,我们定义函数以后,立即调用该函数,这时不能在函数的定义后面直接加圆括号,这会产生语法错误。 解决方法: 1、使用立即执行函数,给每个li创建一个独立的作用域,在立即执行函数执行的时候,i的值从0到2,对应三个立即执行函数,所以就能正常输出了。 立即执行函数的参数 (function(i) { ... })(j) 如果立即执行函数中需要全局变量,全局变量会被作为一个参数传递给立即执行函数。j代表是实参,i代表的是执行函数的形参。 立即执行函数的作用 1、改变变量的作用域(创建一个独立的作用域)。 2、封装临时变量。

    55110

    js匿名函数和立即执行函数

    js匿名函数和立即执行函数 1. 匿名函数 a)写法 b) 特点 2. 立即执行函数 a) 写法 b) 特点 c) 示例 1. 匿名函数 匿名函数又叫拉姆达函数, 使用前需要先赋值。 立即执行函数 该类函数没有声明,直接执行执行立即释放。一般做初始化比较合适。 console.log("写法一"); }());//w3c建议写法 (function (){ console.log("写法二"); })(); b) 特点 只有表达式才能被执行 ,如function (){}(),这样不行,因为function (){}是声明不是表达式,如果是var fn=function (){}();就可以 但执行后,函数名或者变量就不代表函数了,被执行符号执行的表达式其函数名字将被忽略

    5620

    JavaScript立即执行函数(IIFE)的使用

    js的立即执行函数(IIFE)有两种写法,分别为:(function ( ){})( ) 与 (function ( ){}( )) ,这两种写法基本上是没有区别的。 那么为什么要 IIFE? 1.传统的方法啰嗦,定义和执行分开写; 2.传统的方法直接污染全局命名空间(浏览器里的 global 对象,如 window) 函数范围与块范围界定 使用var关键字声明的局部变量的作用域为封闭函数。 let foo = "bar"; console.log(foo); } foo; // ReferenceError: foo is not defined 但是,块范围变量不能替代立即调用的函数表达式 通过这种方式,即使函数在IIFE的词法范围外执行,也会创建一个闭包,使函数能够访问局部变量。 捕获全局对象 JavaScript代码在不同环境执行时,你所使用的全局对象是不同的。当代码在浏览器运行时,全局对象是windows。但是在Node.js中,全局对象是global。

    68120

    JavaScript 学习-46.立即执行函数

    前言 立即执行函数有以下作用 创建一个独立作用域,这个作用域里面的变量,外部访问不到,避免变量污染。 用括号把函数定义包裹起来,后面再加括号调用 (function (){ // 函数体 })() 一般用第二种会多一些 (function (){ // 函数体 })() 示例 使用示例1.匿名函数直接执行 let y = 'world' return function() { return x+y } })() console.log(m()); 模块化 使用立即执行函数

    1810

    SpringBoot扩展点 项目启动后立即执行

    在平时开发时可能要实现在项目启动后执行的一些功能,此时可以使用SpringBoot提供的这个接口。 触发时机为整个项目启动完毕后,自动执行。如果有多个CommandLineRunner,可以使用@Order来进行排序。

    1910

    立即执行函数表达式(IIFE)

    立即执行函数表达式(IIFE) 幸运的是,固定的语法错误很简单。最普遍接受的方式告诉解析器这是一个被括号包裹的函数表达式。 这一括号通常意味着函数表达式会被立即执行,变量将包含函数的结果而不是函数本身。这也会解决一些麻烦,否则如果你写了一个很长的函数表达式,别人必须拉到最底部查看该函数有没有被立即执行立即执行函数表达式最好的一方面就是,因为这个匿名函数表达式被立即执行,没有标识符,所以闭包的使用不会污染当前作用域。 “自执行匿名函数”有错误吗? “立即执行函数表达式”是什么?它是一个被立即执行的函数表达式,就像这个名称会让你相信一样。 我希望看到 JavaScript 社区成员在他们的文章和报告中采用“立即执行函数表达式”这个术语。 var foo = function() { foo(); }; // 有些人把这个称为 "自执行匿名函数" ,其实它并 // 不是自执行, 因为它没有调用自身。它只是 // 立即调用。

    33650

    JavaScript之闭包问题以及立即执行函数

    https://blog.csdn.net/sinat_35512245/article/details/53514804 今天我将会来浅谈一下关于JavaScript的立即执行函数以及闭包问题 首先我们先要了解一下关于立即执行函数: ( function(){…} )()和( function (){…} () )是两种javascript立即执行函数的常见写法,最初我以为是一个括号包裹匿名函数 ,再在后面加个括号调用函数,最后达到函数定义后立即执行的目的,后来发现加括号的原因并非如此。 要理解立即执行函数,需要先理解一些函数的基本概念。 ,而函数表达式必须等到Javascirtp引擎执行到它所在行时,才会从上而下一行一行地解析函数表达式; 二、函数表达式后面可以加括号立即调用该函数,函数声明不可以,只能以fnName()形式调用 。

    55620

    function前加运算符实现立即执行函数

    想让函数立即执行可以将函数体部分用()包裹起来。 这是因为,使用括号包裹定义函数体,解析器将会以函数表达式的方式去调用定义函数。 因为这是一个函数定义: function() {}() // 常见的(多了一对括号),调用匿名函数: (function() {})() // 但在前面加上一个布尔运算符(只多了一个感叹号),就是表达式了,将执行后面的代码 效果等同于以下常用的两种立即执行方式: (function() {})(); // or (function() {}()); 谢谢大家的阅读。

    46720

    JavaScript立即执行函数的解释分析(3)—谈谈圆括号()

    说明 前两篇文章,我们似乎已经明白为什么,立即执行函数要那样写了,这次为了能更加深入理解,我们来说说圆括号的事。 ,如果需要执行就要用到圆括号,来调用它。 a(); //函数调用 4、限定作用 圆括号和一些语句一起使用以达到某些限定作用,比如 条件(conditional)语句 var a=3; if(a<4){ ///限定a<4 才执行 console.log(1); }(); //()前面是函数声明 所以会报错 (function a(){ console.log(1); })(); //()前面是函数表达式 所以会立即执行 总结 这篇文章主要在说圆括号,也是为了能让大家更加理解立即执行函数,下一篇会对立即执行函数进行最后的总结。

    23430

    JavaScript立即执行函数的解释分析(4)—总结篇

    说明 这次来对立即执行函数 Immediately-Invoked Function Expression (IIFE) ,做最后的总结,会把前面几篇提到的内容做一个整合,这样立即执行函数就算是说完了 作用 立即执行函数,可以避免全局变量的污染 ? 定义一个全局变量a,第一次能打印出来,第二次也能打印出来,用立即执行函数的写法,在函数中也定义一个变量a,函数执行了,打印了a,然后再次打印 a 的时候,打印出的是全局变量的a,立即执行函数中的变量a已经没有了 (函数执行后,函数中的变量如果没有被继续引用,就会被释放),而全局变量a,还是存在的,所以,立即执行函数可以避免全局变量的污染 , 也防止产生冲突。 当函数只需要执行一次的时候,我们选择立即执行函数的方式也是很好的。 总结 立即执行函数,相信大家应该明白了,到此算是把立即执行函数说完了,如果文中有什么问题,也非常欢迎大家指正。

    22310

    浅谈自执行函数(立即调用的函数表达式)

    但因遇到了自执行函数,当时的i值已经被 lockedIndex锁住了。也可以理解为 自执行函数属于for循环一部分,每次遍历i,自执行函数也会立即执行。 四、自执行立即执行 最后来唠嗑下命名方式。 var foo = function () { arguments.callee(); }; // 立即执行匿名函数。但我们习惯称其为:自执行的匿名函数。 (function () { /* code */ } ()); // 立即执行函数。 个人愚见:上面例子中把 自执行 解释成 “自己调用自己”,当然和 立即执行 相差很大了。但如果把 自执行 解释成 “自动执行”,就和 立即执行 异曲同工了。

    1.2K30

    一篇文章带你了解avaScript输出

    在某些情况下,您可能需要从JavaScript代码生成输出。例如,您可能想查看变量的值,或向浏览器控制台写一条消息,以帮助您调试正在运行的JavaScript代...

    17620

    一篇文章带你了解avaScript输出

    写入警报框, 使用 window.alert()。写入HTML输出 使用 document.write()。写在HTML元素, 使用 innerHTML。写入浏...

    11320

    相关产品

    • 隐私计算

      隐私计算

      云安全隐私计算(TCSPC)以联邦学习、MPC(安全多方计算)、TEE(可信执行环境)等隐私数据保护技术为基础的隐私计算平台,TCSPC针对机器学习算法进行订制化的隐私保护改造,保证数据不出本地即可完成联合建模,同时支持安全多方PSI、安全隐私查询统计分析,提供基于硬件的TEE可信计算。通过TCSPC最大化各个合作企业在数据安全的基础上的数据价值,很好地解决了业界数据孤岛的难题。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券