变量声明前置与函数声明前置

2019-01-17  本文已影响0人  学的会的前端

变量声明前置

变量声明出现在代码中的任何位置都会在该代码执行前处理,这意味着变量可以在声明之前使用,这个行为叫"hoisting",即把在指定作用域内声明的变量提升到函数或全局代码的顶部。
声明变量的作用域限制在其声明位置的上下文中,而未声明变量总是全局的,所以总在作用域最开始声明变量可以使变量的作用域变得清晰。

示例:
console.log(a);   // undefined
var a  = 1;
console.log(b);  //Referencerror: b is not deined

函数声明前置

使用function关键字可以声明一个函数,他的特征是函数声明提升,执行代码之前会读取函数声明,即声明不必放在调用的前面,可以放在作用域的任何位置。

a();
function a(){
  console.log(''hello'')
}

以上代码没有return,返回值undefined

a();
function a(){
  return(''hello'')
}

以上代码返回值''hello''

JS引擎的过程

上一篇 下一篇

猜你喜欢

热点阅读