详解JS中的立即执行函数
1.匿名函数不能单独定义,必须进行赋值操作或者立即执行,否则会被JS引擎定义为语法错误
function(){alert(dada);} VM229:1 Uncaught SyntaxError: Unexpected token
2.在函数体后面加括号就能立即调用,这个函数形式必须是函数表达式,不能是函数声明
function(){alert(123);}(); VM265:1 Uncaught SyntaxError: Unexpected token
3.可以在函数前面加符号,或者用括号将函数包住来消除函数声明
(function(){alert(123);})(); undefined
4.消除函数声明最安全的做法是加括号,因为运算符号还会和函数的返回值进行运算,造成不必要麻烦
5.包住函数表达式的括号可以括住参数,也可以不括住,效果是一样的
(function(){alert(123);}()); undefined
6.立即执行函数的作用:创造一个作用域空间,防止变量冲突或覆盖
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!
相关推荐
-
JavaScript立即执行函数的三种不同写法
第一种: (function () { // open IIFE // inside IIFE }()); // close IIFE 第二种: !function () { // open IIFE // inside IIFE }(); // close IIFE 第三种: void function () { // open IIFE // inside IIFE }(); // close IIFE
-
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
没有区别. 你需要明白 IIFE 的原理,我简单说一下: 复制代码 代码如下: function foo() {...} // 这是定义,Declaration:定义只是让解释器知道其存在,但是不会运行. foo(); // 这是语句,Statement:解释器遇到语句是会运行它的. IIFE 并非必须,传统一点可以这么写: 复制代码 代码如下: function foo() {...} foo(); 那么为什么要 IIFE? 1.传统的方法啰嗦,定义
-
JS动态插入并立即执行回调函数的方法
本文实例讲述了JS动态插入并立即执行回调函数的方法.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <
-
JavaScript中的立即执行函数表达式介绍
我们习惯看到这样的匿名函数 复制代码 代码如下: (function(){ console.log("test"); })(); 之前一直叫的是自执行的匿名函数(self-executing anonymous function) 发现原来还有一种叫法是: 立即调用函数表达式 (IIFE,Immediately-Invoked Function Expression) 立即调用函数表达式 相比于自执行匿名函数,立即调用函数表达式的意思来得更明确一些. 自执行函数有下面的这一些例
-
深入解析JavaScript中的立即执行函数
它是什么 在 JavaScript 里,每个函数,当被调用时,都会创建一个新的执行上下文.因为在函数里定义的变量和函数是唯一在内部被访问的变量,而不是在外部被访问的变量,当调用函数时,函数提供的上下文提供了一个非常简单的方法创建私有变量. function makeCounter() { var i = 0; return function(){ console.log(++i); }; } //记住:`counter`和`counter2`都有他们自己的变量 `i` var counter =
-
详解javascript立即执行函数表达式IIFE
一.IIFE解释 全拼Imdiately Invoked Function Expression,立即执行的函数表达式. 像如下的代码所示,就是一个匿名立即执行函数: (function(window, undefined){ // 代码... })(window); 二.括号的意义 2.1 包住function(){}的括号的意义 这个括号的目的,是为了把function(){}转化为表达式.像一些库的源码,喜欢用如下方式代替: ~function(){ // 代码... }(); 或者这种方
-
JavaScript中立即执行函数实例详解
前言 js立即执行函数可以让你的函数在创建后立即执行,js立即执行函数模式是一种语法,可以让你的函数在定义后立即被执行,这种模式本质上就是函数表达式(命名的或者匿名的),在创建后立即执行. ( function(){-} )()和( function (){-} () )是两种javascript立即执行函数的常见写法,最初我以为是一个括号包裹匿名函数,再在后面加个括号调用函数,最后达到函数定义后立即执行的目的,后来发现加括号的原因并非如此. 下面话不多说了,来一起看看详细的介绍吧. 通常我们声
-
深入浅析javascript立即执行函数
javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花; 当然,能理解各型各色的写法也是对javascript语言特性更进一步的深入理解. JavaScript 函数语法 函数就是包裹在花括号中的代码块,前面使用了关键词 function: function functionname() { 这里是要执行的代码 } 当调用该函数时,会执行函数内的代码. 可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript
-
js 在定义的时候立即执行的函数表达式(function)写法
1.前言 函数需要先定义,后使用. 这基本上所有编程语言的一条铁的定律. 一般状况下, 我们需要调用一个JavaScript 函数, 基本的状况都是先定义, 然后再调用. 看一个例子 复制代码 代码如下: <!--by oscar999 2013-1-16--> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dt
-
深入理解javascript中的立即执行函数(function(){…})()
javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各型各色的写法也是对javascript语言特性更进一步的深入理解. ( function(){-} )()和( function (){-} () )是两种javascript立即执行函数的常见写法,最初我以为是一个括号包裹匿名函数,再在后面加个括号调用函数,最后达到函数定义后立即执行的目的,后来发现加括号的原因并非如此.要理解立即执行函数,需要先理解一些函数的基本概念.
随机推荐
- jQuery选中select控件 无法设置selected的解决方法
- Extjs中ComboBoxTree实现的下拉框树效果(自写)
- javascript表单正则应用
- 10道典型的JavaScript面试题
- 网吧QQ优化设置指南
- VBS Runas 自动输入密码, 明文
- CentOS 7.2配置Apache服务httpd(下)
- ASP.NET MVC+EF框架+EasyUI实现权限管系列
- Javascript中引用示例介绍
- mysql 5.7.14 下载安装、配置与使用详细教程
- vue-cli入门之项目结构分析
- RAID等级、RAID功能 什么是RAID等级啊?
- 一辈子走好一条路(坚持一个行业)
- C#通过oledb访问access数据库的方法
- 深入SQL SERVER合并相关操作Union,Except,Intersect的详解
- jQuery+php实时获取及响应文本框输入内容的方法
- JavaScript的String字符串对象常用操作总结
- 使用python统计文件行数示例分享
- php模板原理讲解
- PHP如何将XML转成数组