web前端框架Javascript开发基础之JavaScript作用域

113 篇文章 4 订阅
18 篇文章 0 订阅

在JavaScript中,对象和函数也是变量。在JavaScript中,作用域是你可以访问的变量、对象和函数的集合。JavaScript有函数作用域: 这个作用域在函数内变化。

一、本地JavaScript变量

一个变量声明在JavaScript函数内部,成为函数的局部变量。

局部变量有局部作用域: 它们只能在函数中访问。

JS:

//code here can not use carName

IMG_256
由于局部变量只在它们的函数中被识别,所以具有相同名称的变量可以在不同的函数中使用。当函数启动时创建局部变量,当函数完成时删除。

二、全局JavaScript变量

函数外声明的变量, 成为全局变量。全局变量具有全局作用域: 网页上的所有脚本和函数都可以访问它。

IMG_257
自动全局

如果给未声明的变量赋值, 它会自动成为全局变量。

此代码示例将声明一个全局变量carName,即使赋的值是函数内部。

myFunction();

// code here can use carName

function myFunction() {

carName = "Volvo";

}

IMG_258
不要创建全局变量,除非你非常需要,在严格模式下"Strict Mode"自动全局变量将失败。

三、在HTML中的全局变量

在JavaScript中,全局作用域是完整的JavaScript环境。

在HTML中,全局作用域是window对象。所有的全局变量都属于window对象。

项目

在HTML中,所有的全局变量将成为窗口window变量。

![IMG_259](https://img-blog.csdnimg.cn/89114b1e63114299b1cd851dd2497128.png) 全局变量(或函数)可以覆盖窗口变量(或函数). 任何函数,包括窗口对象,都可以覆盖全局变量和函数.

四、JavaScript代码块作用域

表中是var,let和const之间的区别。
IMG_260
用var关键字声明的变量不能具有块作用域,{}可以从块外部访问在块内部声明的变量:

{

var num = 50;

}

// num 能在这里使用

用let关键字声明的变量可以具有“块作用域”。

{}不能从块外部访问在块内部声明的变量:

{

let num = 50;

}

// num不能在这里使用

声明变量with const与let]涉及块作用域类似。

{

const num = 50;

}

// num不能在这里使用

常量的值不能通过重新分配而更改,也不能重新声明。

五、总结

本文基于JavaScript,介绍了了函数作用域和变量作用域。介绍了变量中全局变量的几种显示的方法,在HTML中的全局变量应该如何去表示。通过案例的讲解,让读者更好的去理解。

代码很简单, 希望能够帮助你学习。

文章来源:网络 版权归原作者所有

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系小编,我们将立即处理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值