美文网首页
js基础阵营:变量2

js基础阵营:变量2

作者: 来瓶二锅头00 | 来源:发表于2020-01-02 21:42 被阅读0次

上面已经介绍完了变量的定义,说完定义肯定要说下变量的常见的问题。其实变量的常见问题说来说去也就那么几个,变量作用域,变量提升。这就跟前面说到张无忌的乾坤大挪移一样,用来用去也就那么几招。那么我们首先来看变量作用域

1.变量作用域

为了理解什么是变量作用域,我们首先要搞明白一个概率-'执行环境'。故名思议,执行环境就是我们要处理一件事所处的环境,举个栗子:我们去TAM取款机取钱,那么ATM机器就是一个执行环境,一个执行取钱命令的环境。那么这个环境中包括哪些东西呢?ATM取款机这个执行环境中呢就包括钱,以及如何取钱这个操作。那么我们类比到我们的js中,我们就不难明白什么是执行环境,执行环境就是定义了变量(钱)或者函数(取钱操作)的一个范围。
理解了执行环境,那么我们变量作用域也很好明白了,那就是变量所能操作(读取)的一个执行环境。那么我们常见的变量作用域有哪些呢?在ES5时代变量的作用域有两种:全局作用域以及函数作用域,在ES6时代引入了块级作用域的概率,下面我们来一个一个来剖析

1.1全局作用域

全局作用域就是在最外层的一个执行环境,js代码运行宿主不同(js可以在浏览器运行也可以在node环境中运行)表示的执行环境也不同,在浏览器中我们说到的全局作用域就是指window对象,因为所有的变量以及函数都是作为window对象的属性和方法来创建的,我们来看一下代码

var name = '二锅头';
console.log('window.name的值为:' + window.name);

我们把代码复制到浏览器的控制台就能得到一下结果:



这个时候我们就能看到其实我们定义的变量name变成了window的一个属性。所以只要能访问到window的地方都能使用我们的name属性。这也就是为什么叫全局作用域的原因。

1.2函数作用域

函数作用域,说简单点就是函数的执行环境。

相关文章

  • js基础阵营:变量2

    上面已经介绍完了变量的定义,说完定义肯定要说下变量的常见的问题。其实变量的常见问题说来说去也就那么几个,变量作用域...

  • js基础阵营:变量1

    这一次我们首先将视角投向js基础知识之变量,下面看下变量的基础信息姓名:变量类型:松散型定义方式:var,cons...

  • js基础阵营:变量篇之变量类型

    前面我们已经说过了变量的提升,那么变量具体有哪些类型呢?当前JavaScript具有5个基本数据类型,分别是:nu...

  • js基础阵营:变量篇之变量作用域

    上面已经介绍完了变量的定义,说完定义肯定要说下变量的常见的问题。其实变量的常见问题说来说去也就那么几个,变量作用域...

  • js基础阵营:变量篇之特殊变量-数组

    前面我们以及说过了,变量的一些基础知识,这章我们将来看看特殊一个变量数组。在其他语言中我们可以知道,数组一般存储的...

  • js基础阵营:变量篇之变量,函数提升

    上面已经介绍完了变量的定义,以及变量的作用域问题,这章我们来看看变量提升的问题。在进行这章开始前,我们先来探讨一个...

  • js基础阵营:变量篇之特殊变量-对象

    这一章,我们将好好去看看一个特殊的变量,对象。我们先看看官方的定义:无序属性的集合,其属性可以包含基本值,对象,或...

  • 小程序系列--JS基础

    JS基础 最后一遍JS基础,需要一定的语言基础 1. JS在网页中使用 2. 注释 3. 变量 声明变量 var...

  • js基础阵营:变量篇之类型转换

    前面我们已经讲解了变量的类型,在上一章,我们了解了基础的类型以及类型的含义以及用法。在这一章中,我们将了解变量的转...

  • js基础阵营:变量篇之特殊变量-对象的创建

    上一章,我们说到了对象的一些基本的属性,这一章,我们来看下如何去创建一个对象。在js中创建对象有两种方式,一种是单...

网友评论

      本文标题:js基础阵营:变量2

      本文链接:https://www.haomeiwen.com/subject/otqaoctx.html