以下js代码,为什么答案是这样?

以下js代码,为什么答案是这样?
   var tt = 'aa';
   function test(){
   alert(tt);
   var tt = 'dd';
   alert(tt);
   }
   test();
头头桶 1年前 已收到1个回答 举报

咖啡舞语 幼苗

共回答了22个问题采纳率:90.9% 举报

答案是:undefined;dd
解释:明白js的预编译,即变量和函数会被提前声明:你的代码可以解释成:var tt = 'aa';
function test(){
var tt;
 alert(tt);
  t = 'dd';
  alert(tt);
}
test();

// 比如这样一条语句:
var t = 'test';

// 最终会被解释成:
var t;
t = 'test';

1年前

2
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.029 s. - webmaster@yulucn.com