{
let foo = 'lxx'
function demo() {
console.log('demo function')
}
class Person {}
}
// console.log(foo) // 报错
// var p = new Person() // 报错
demo() // demo function
非严格模式下 可以调用块作用域中的函数,严格模式下和变量一样,访问不到。这是为什么呢?有老师说是为了兼容ES6之前的代码。
{
let foo = 'lxx'
function demo() {
console.log('demo function')
}
class Person {}
}
// console.log(foo) // 报错
// var p = new Person() // 报错
demo() // demo function
非严格模式下 可以调用块作用域中的函数,严格模式下和变量一样,访问不到。这是为什么呢?有老师说是为了兼容ES6之前的代码。
13 回答12.8k 阅读
8 回答2.6k 阅读
2 回答5.1k 阅读✓ 已解决
7 回答1.9k 阅读
3 回答2.2k 阅读✓ 已解决
5 回答879 阅读
3 回答1.1k 阅读✓ 已解决
块级作用域是在es6时才有的,所以es6语法才支持。demo你用的是es5语法