函数或变量的提前声明

1.变量提前编译

showname();
function showname()
{
   //变量提前
   console.log(a);//变量提前声明/预编译  
   var a=10;
   console.log(a);
}

结果如下:
变量a在第一次输出时被提前声明,但并未赋值,所以结果为undefined,变量a在第一次输出前已被声明和赋值,所以第二次输出值为10。
在这里插入图片描述
2.函数的提前声明

showname();//提前编译函数
function showname()
{
     var a=10;
   console.log(a);
}

以上函数可提前编译

var m=function()
{
  console.log("匿名函数");
}
m();

匿名函数不可提前编译。

m();
var m=function()
{
  console.log("匿名函数");
}

如果提前编译匿名函数,结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43694639/article/details/87539598