首页 > 其他 > 详细

声明提前例题

时间:2020-05-31 13:02:27      阅读:33      评论:0      收藏:0      [点我收藏+]
function fun(){
    console.log(1);
}
fun();  //2
function fun(){
    console.log(2);
}
fun();  //2
var fun=100;
fun();  //报错,fun不是一个函数了

解析:

   程序在执行前,都会先找到var声明得到变量和function声明的函数,提前到当前作用域的顶部,但是赋值会留在原地。

 
function fun(){console.log(1);}
function fun(){console.log(2);}
遇到同名的,会覆盖第一个fun函数

var fun=100;=>var fun; fun=100;
声明 赋值
var fun 被提前,但是原来已经有了一个fun变量,所以这句不执行,
fun();
fun();
fun=100;
fun();

所以第一次调用和第二次调用fun都输出2;然后将100赋值给了fun,所以第三次调用时,变量fun已经不是一个函数了,所以无法调用,调用了就会报错

 

声明提前例题

原文:https://www.cnblogs.com/Dcode/p/12996915.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!