声明前置

变量的声明前置

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构造函数表达式,函数的声明不会前置
// 调用一个没有声明的函数,就报错了
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容