Hoisting

关於Hoisting很像是变数被拉升到上层

  • 提升变数不会赋值
  • var a = 2 LHS
  • console.log(a) RHS

尚未宣告变数,即RHS该数值便会出现参考错误

console.log(a) //ReferenceError: a is not defined

这边Hoisting

console.log(a) //undefined
var a = 1;
var a;

Var

在学习了Let之後,尽量少用Var。原因是Var会被提升到全域变数并且被污染,并且可以重复被宣告改赋值,造成程序错误

a = 1;
var a;

console.log(a) //1

compiler 会把程序看成两个叙述句

var a
a = 2

Let

不能重复宣告

let u = 0
let u = 1
console.log(u) //SyntaxError: Identifier 'u' has already been declared


var a = 10

function test(){
    console.log(a)
    let a //ReferenceError: Cannot access 'a' before initialization
}
test()

Const

Const可以看作Let的加强版,并且Const不能改变赋值

var a = 10

function test(){
    console.log(a)
    const a //ReferenceError: Cannot access 'a' before initialization
}
test()

<<:  程序码真正想跟你说的话

>>:  Tool, Tips And Information On, Making An Apple Iphone App

Day21 Raid原理

Raid可以理解为是将多个硬碟组合在一起,利用虚拟储存技术,形成一个硬碟阵列,用来提升储存空间和制造...

未来狂想:天气气候监测领域

人的科技文明发展始终来自於人性 在科技进步的情况之下,我们已经习惯於使用科技的帮助来介入我们的生活,...

Day 11 - [爬虫] 01-蒐集训练资料 以卫服部长照常见问题为例

撰写 Python 程序码蒐集网路上的长照相关问答资讯,相比使用人工蒐集的方式,程序自动化蒐集方便又...

[GMI/GMA] 透过移动装置连上 Genero Web App

至目前的章节为止,已经可以执行 Genero FGL的程序在 Windows/MAC/Linux ...

[13th][Day5] Goroutine

about goroutine 要聊 golang 中的 「go」 这个保留字之前,先来说说 Gor...