JS变量与函数声明提升补充

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS变量与函数声明提升补充相关的知识,希望对你有一定的参考价值。

1.默认情况下,函数声明的优先级高于变量声明的优先级;一旦变量被赋值,不会被函数声明覆盖

var a;
function a() {
  console.log(‘a‘);
}

var b = 1;
function b() {
  console.log(‘b‘);
}


console.log(a);//function a
console.log(b);//b

 

2.命名函数表达式的标示符(即函数名称)在外部作用域是无效的

var f = function foo(){
    return typeof foo; // foo是在内部作用域内有效
};
// foo在外部用于是不可见的
typeof foo; // "undefined"
f(); // "function"

以上是关于JS变量与函数声明提升补充的主要内容,如果未能解决你的问题,请参考以下文章

js变量提升与函数提升

JS执行顺序-函数声明提升匿名函数函数表达式

JS预解析与变量提升

js预解析

函数预解析补充

js中的变量提升