答:ES5中只有全局作用域,函数作用域,没有块级作用域,
ES6新增了块级作用域,块级作用域是 { } 形成的,if与for的{}也被称为作用域
var 是全局变量,可以跨块访问,但不可以跨函数访问
let 局部变量,只能在块级作用域中,不能跨块访问,也不能跨函数访问
const 局部变量,只能在块级作用域中,不能跨块访问,必须初始化(赋值),否则报错,并且赋值后不能修改
2.变量提升,函数提升
答:变量提升是变量声明提升到它所在的作用域最开始的位置
//变量提升 console.log(a) var a = 1; console.log(a) //只有函数声明才能变量提升 function t() { console.log(a) var a = 1; console.log(a) } t() //函数提升 console.log(t) console.log(8) function t() { console.log(10) }
3.数组方法有哪些
答:push,pop,