下面几段代码,比较耐人寻味,里面体现了一些javascript的运行本质的东西,需要慢慢理解:
function aFunc() {
function myfunc() {
//...
}
return myfunc;
}
var f1 = aFunc();
var f2 = aFunc();
alert(f1 === f2); //false
function aFunc2() {
var myfunc = function() {
//...
}
return myfunc;
}
var f1 = aFunc2();
var f2 = aFunc2();
alert(f1 === f2); // false
function aFunc3() {
function myfunc() {
//...
}
return function () {
return myfunc;
}
}
var f1 = aFunc3();
var f2 = aFunc3();
alert(f1 === f2); // false
var aFunc4 = function () {
function myfunc() {
//...
}
return function () {
return myfunc;
}
}();
var f1 = aFunc4();
var f2 = aFunc4();
alert(f1 === f2); // true