一起学JS
碰到一个JS[JavaScript]问题,很久都没想明白。不提问题,猜猜下面这个HTML的结果。
<html>在FIREFOX[已装FIREBUG]上看,控制台输出如下:
<head>
<script type="text/javascript">
(function(){
console.log("fn: " + fn);
})();
fn = null;
(function(){
console.log("fn: " + fn);
})();
function fn(){
};
(function(){
console.log("fn: " + fn);
})();
</script>
</head>
<body>
</body>
</html>
更多测试:fn: function fn() { }fn: nullfn: null
<html>输出:
<head>
<script type="text/javascript">
var befFunc = function(){
};
(function(){
console.log("befFunc: " + befFunc);
console.log("aftFunc1: " + aftFunc1);
console.log("aftFunc2: " + aftFunc2);
console.log("aftFunc3: " + aftFunc3);
aftFunc3 = null;
})();
var aftFunc1 = function(){
};
var aftFunc2 = new Function();
function aftFunc3(){
};
(function(){
console.log("aftFunc3: " + aftFunc3);
})();
var befVar = "befVar";
var displayVars = function(){
console.log("befVar: " + befVar);
console.log("aftVar: " + aftVar);
};
displayVars();
var aftVar = "aftVar";
displayVars();
</script>
</head>
<body>
</body>
</html>
befFunc: function () { }aftFunc1: undefinedaftFunc2: undefinedaftFunc3: function aftFunc3() { }aftFunc3: nullbefVar: befVaraftVar: undefinedbefVar: befVaraftVar: aftVar
0 评论:
发表评论