(初学JS) JavaScript中,关于作用域的理解

前言

  • 在javascript中,有着一种被称为作用域(scope)的特性。它也是理解闭包的前置知识,本文着重于理解作用域,以便在下一篇文章中,学习并理解闭包。

作用域(Scope)

作用域是什么?

  • 作用域是指在程序中定义变量的区域,该位置决定了变量的生命周期(和函数作用域、块级作用域相关)。通俗的理解,作用域就是变量与函数的可访问范围,即作用域控制着变量和函数的可见性和生命周期。而作用域又分为全局作用域函数作用域块级作用域

1.全局作用域

  • 一个 html 页面就是一个全局作用域,打开页面的时候, 作用域就生成了, 关闭页面,全局作用域关闭。任何地方都能访问到的对象拥有全局作用域。在函数外面定义的变量就属于全局变量,拥有全局作用域。此外,window的属性也拥有全局作用域。
    例如下段代码中, i 就存在于全局作用域。
var i = 1;
function fun() {
   
  console.log(i);
}
fun()//输出1

学习到这里时,突然想到一个有意思的问题:在不通过 get/post 等方式提交的情况下,如何将全局作用域如何跨页面引用到变量呢?
向老师的讨教后,终于得到了想要的结果。
在一个HTML文件里script块中写下

    var name = '小王';
    window.localStorage.setItem('username',name)//本地储存

打开浏览器控制台输入 name 得到下图,关闭当前HTML窗口

2.png
在另外一个HTML文件script块中写下

    var name = localStorage.getItem('username');
    console.log(name);//小王

打开浏览器控制台得到下图

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值