作用域

1.全局作用域
函数的声明和在全局定义的变量是在全局作用域里面的
2.局部作用域
在某个范围内使用的变量都可以局部定义
(1)函数作用域
在函数内定义变量,函数内部都可以使用,函数外部不可以使用
function sayHello () {
const hello = ‘Hello js!’
console.log(hello)
}
sayHello() // ‘Hello js!’
console.log(hello) // Error, hello is not defined
(2)块级作用域
大括号括起来并且用const和let定义的,只能在此大括号内使用
{
const hello = ‘Hello js!’
console.log(hello) // ‘Hello js!’
}
console.log(hello) // Error, hello is not defined
注意:当函数用function定义事,函数会被提升到函数定义之前,函数的使用在上面在下面都是一样的
// This is the same as the one below
sayHello()
function sayHello () {
console.log(‘Hello CSS-Tricks Reader!’)
}
// This is the same as the code above
function sayHello () {
console.log(‘Hello CSS-Tricks Reader!’)
}
sayHello()
当定义函数表达式的时候不会出现函数的提升,此时将函数的使用写在前面就会报错
sayHello() // Error, sayHello is not defined
const sayHello = function () {
console.log(aFunction)
}
3.嵌套作用域
一个函数内部再定义一个函数,此时内部函数可以访问外部函数的变量,但是反过来是不可以的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值