函数作用域和块作用域(一)
来源:互联网 发布:网吧电脑保护软件 编辑:程序博客网 时间:2024/06/07 02:38
立即执行函数表达式(IIFE)
1.使用匿名函数表达式
var a = 2;(function IIFE(){ var a = 3; console.log(a);//3})();console.log(a);//2
2.当作函数调用并传递参数进去
var a = 2;(function IIFE(global){ var a = 3; console.log(a);//3 console.log(global.a);//2})(window);console.log(a);//2
3.解决undefined标识符默认值被错误覆盖
undefined = true;(function IITF(){ var a ; if(a === undefined){ console.log('Undefined is safe here!'); }})();
4.倒置代码的运行顺序
var a = 2;(function IFEE(def){ def(window);})(function def(global){ var a = 3; console.log(a);//3 console.log(global.a);//2});
块作用域
for语句,i会被绑定在外部作用域(函数或全局)
for(var i = 0 ; i < 10 ; i++){ console.log(i);}
if语句,当使用var声明变量时,在哪里都一样
var foo = true;if(foo){ var bar = foo*2; bar = something(bar); console.log(bar);}
以下是一个闭包结合自执行函数的实例
var i = 1;var IFun = (function(){ var i = 1; console.log(i); return function(){ i++; console.log(i);}})();IFun();IFun();最终输出的结果为1,2,3,很多会下意识的觉得结果会有4个值,但是运用了return 返回值以及自执行函数将函数返回给IFun变量,使得在第一次操作过程后,将返回函数直接赋给IFun。
1 0
- 函数作用域和块作用域(一)
- 函数作用域和块作用域
- 函数作用域和块级作用域?
- JavaScript笔记:函数作用域和块作用域
- javascript闭包和函数块作用域
- 深入学习js之浅谈作用域(隐藏作用域和块作用域)
- 127 函数作用域 块级作用域
- js的函数作用域跟块级作用域
- js函数作用域与块作用域
- JavaScript块级作用域与函数作用域
- 读书笔记《你不知道的JavaScript上卷》1.3函数作用域和块作用域
- 函数表达式模仿块级作用域
- 函数表达式---模仿块级作用域
- ES6入门(一):块级作用域
- js中三种作用域详解(全局,函数,块级)
- js中三种作用域详解(全局,函数,块级)
- js中三种作用域详解(全局,函数,块级)
- js中三种作用域详解(全局,函数,块级)
- github无法访问
- 研发流程体系---生产响应流程3种模式
- 通过PreparedStatement 对数据库进行增删改查
- eclipse debuge的暂时取消和恢复
- Struts2工作原理
- 函数作用域和块作用域(一)
- this与super同时使用的问题
- Intent调用系统组件
- 工作中遇到的问题总结2(js类)
- 正则表达式用法总结----七
- HDU 1394(线段树) Minimum Inversion Number
- C++ 高版本打开低版本无法解析。。printf
- new 对象加括号和不加括号的区别
- 处理大并发之二 对epoll的理解,epoll客户端服务端代码