JS 闭包问题
2016-02-26 13:52
639 查看
var result = []; function foo1() { var i = 0; for (; i < 3; i = i + 1) { result[i] = (function (j) { return function () { console.log ("log==111=>" + j); }; })(i); } }; foo1(); result[0](); // 0 result[1](); // 1 result[2](); // 2 //============================================================================================ var result = []; function foo() { var i = 0; for (; i < 3; i = i + 1) { result[i] = function () { console.log ("log===>" + i); } } }; foo(); result[0](); // 3 result[1](); // 3 result[2](); // 3 //============================================================================================ var window = {};//模拟浏览器中的window window.export = {}; (function () { var _userId = 23492; var _typeId = 'item'; var export1 = {}; function converter(userId) { return +userId; } export1.getUserId = function () { return converter(_userId); } export1. getTypeId = function () { return _typeId; } window.export = export1; })(); console.log("====>,,,,,," + window.export.getUserId()); //============================================================================================ var a = 10; (function () { var b = 20; })(); console.log(a); // 10 //console.log(b); // error, b in not defined for (var item in {a: 1, b: 2, c: 3,d:3}) { console.log(item); var n=6; } console.log(item+n);//没有块级 作用域 所以还能访问的到 eval("var a = 1;"); //============================================================================================ function outer() { var i = 1; //var func = new Function("console.log(typeof m);");//new Function()这样的拿不到上层 的作用域 链 ,而下边这种就能拿到 var func = function () { console.log(typeof i); }; func(); // undefined } outer(); //============================================================================================
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- 深入理解PHP之匿名函数
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解
- call/apply/bind 的理解与实例分享
- 如何创建对象以及jQuery中创建对象的方式