js函数在赋值之前调用报错

2023-12-15 08:45:52
<script>
    console.log(a); //输出undefined
    var a = 2;
    console.log(a); //输出2

    foo();//输出Hello, World!
    function foo() {
    	console.log("Hello, World!");
    }

    bar(); //报错:bar is not a function
    var bar = function() {
        console.log("Hello, World!");
    }
/*
   这里报错的原因是;
	在代码执行之前 变量提升和函数提升
    但是,函数表达式(通过赋值方式定义的函数)不会提升  
    所以的这里的function() {
        console.log("Hello, World!");
    }并没有在bar();执行之前赋值给了var bar  当代码从上到下执行的到bar()的时候就会报bar is not a function
*/
    </script>

执行结果:

文章来源:https://blog.csdn.net/weixin_63383437/article/details/134956053
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。