JS閉包問題
5705 ワード
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();
//============================================================================================