{
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之前的代码。
8 回答4.7k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
6 回答2.3k 阅读
5 回答6.3k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
块级作用域是在es6时才有的,所以es6语法才支持。demo你用的是es5语法