饥人谷技术博客

声明前置

2017-04-06  本文已影响31人  辉夜乀

变量的声明前置

var创建变量,声明会前置

console.log(a)
var a=1

等同于
var a
console.log(a)
a=1
//输出 undefined,因为变量 a 的申明前置了,没有赋值就是 undefined

如果上面没用 var 声明变量,直接使用就是会报错

console.log(x)
x=1      // Uncaught ReferenceError: x is not defined
         //因为变量 x 没有声明

函数的声明前置

function声明函数,函数声明会前置

hello()
function hello() {
  console.log('world')
}
//输出 world ,不会报错,因为 function 声明会前置

如果用函数表达式,则会报错

Hello()
var Hello = function() {
  console.log('World')
}
// Uncaught TypeError: Hello is not a function
// 因为var构造函数表达式,函数的声明不会前置
// 调用一个没有声明的函数,就报错了
上一篇 下一篇

猜你喜欢

热点阅读