skip to content
天真笔录

JS知识盲区

/ 1 min read

函数与变量重复声明

console.log(foo);
function foo(){
  console. log ("foo") ;
}
var foo = 1:

function fnVar(a = 10) {
  console.log(a)
  var a = 'abc'
}
fnVar(30)

打印的是函数、30,而非undefined

进入执行上下文时,首先会处理函数声明,其次会处理变量声明,如果变量名跟已经声明的形式参数或函数相同,则变量声明不会干扰已经存在的这类属性·