首先将作用域比喻为一座大楼:

第一层表示当前执行作用域。大楼顶层表示全局作用域

(1)js首先会在当前楼层进行查找变量,如果没有找到,就做电梯往上一层(二层)楼查找。

(2)若还是没有找到继续往上查找,直到抵达顶层,即全局作用域。

(3)达到顶层后,无论是否找到变量,查找过程都将停止。

说明:

(1)非严格模式下若在全局作用域未找到该变量,则会在全局作用域下创建该名称的变量,并将其返回给js引擎。

(2)严格模式下是禁止自动创建全局变量。
(3)作用域会在找到第一个匹配的变量停止,之后不会继续向上查找。

javascript 作用域 通俗解释的更多相关文章

  1. javascript 闭包 通俗解释

    代码段 function foo(){ var a = 2; function bar(){ console.log(a); } return bar; } var baz = foo(); baz( ...

  2. JavaScript 正则表达式 通俗解释 快速记忆

    1.正则表达式中最重要的三个符号: 1.1 B 在正则表达式中B有3种类型的括号: 1.1.1 方括号 “[“. 方括号"["内是需要匹配的字符.中括号括住的内容只匹配一个单一的字 ...

  3. JavaScript 作用域链图具体解释

    <script type="text/javascript"> /** * 作用域链: */ var a = "a"; function hao94 ...

  4. 关于Javascript作用域及作用域链的总结

    本文是根据以下文章以及<Javascript高级程序设计(第三版)>第四章相关内容总结的. 1.Javascript作用域原理,地址:http://www.laruence.com/200 ...

  5. JavaScript作用域链

    之前写过一篇JavaScript 闭包究竟是什么的文章理解闭包,觉得写得很清晰,可以简单理解闭包产生原因,但看评论都在说了解了作用域链和活动对象才能真正理解闭包,起初不以为然,后来在跟公司同事交流的时 ...

  6. 深入理解javascript作用域系列第三篇——声明提升(hoisting)

    × 目录 [1]变量 [2]函数 [3]优先 前面的话 一般认为,javascript代码在执行时是由上到下一行一行执行的.但实际上这并不完全正确,主要是因为声明提升的存在.本文是深入理解javasc ...

  7. JavaScript作用域闭包简述

    JavaScript作用域闭包简述 作用域 技术一般水平有限,有什么错的地方,望大家指正. 作用域就是变量起作用的范围.作用域包括全局作用域,函数作用域以块级作用域,ES6中的let和const可以形 ...

  8. JavaScript 作用域和变量提升

    本文是这篇文章的简单翻译. 如果按照下面的代码按照JavaScript程序的执行方式执行,alert函数会显示什么? var foo = 1; function bar() { if (!foo) { ...

  9. 老生常谈的Javascript作用域问题

    在前端学习中,作用域这个问题一直被广泛提起,什么是作用域,什么又是作用域链?在Javascript中,怎么去理解这些概念都是学好这门语言的关键,所以在学习前端开发的过程中,我需要也很有必要去学习和总结 ...

随机推荐

  1. Windows下Apache2.2+PHP5安装步骤

    Windows下Apache2.2+PHP5安装 初学者在学习PHP的时候可能都会遇到安装Apache和PHP不成功的问题,于是很多开发者便选择了集成包,一键安装好Apache+PHP+MySQL.但 ...

  2. Google Code Jam Africa 2010 Qualification Round Problem A. Store Credit

    Google Code Jam Qualification Round Africa 2010 Problem A. Store Credit https://code.google.com/code ...

  3. 实战-130W表增加字段耗时

    工作需要对130W的表增加字段,因为是操作线上数据库,所以提前在本地调查下耗时. 首先建表: CREATE TABLE `alter_cloumn_test` ( `id` int(11) unsig ...

  4. layoutit note

    Head: JavaScript -> Navbar Menu: JavaScript  -> Collapse Compnents -> Panels Compnents -> ...

  5. 原生javascript知识点

    JAVASCRIPT 1.变量 1.1概念 变量源于数学,是计算机语言中存储计算结果或表示值抽象概念 计算机有个地方叫内存,变量都会将值存入到内存中,变量就是指向这个值的名字 1.2命名规则 1. 由 ...

  6. JAVAssist---动态改动注解

    ​ITOOV3.0開始了,须要研究一些技术难点,先来说一个我认为比較有趣的技术点吧.需求是这种.我们须要动态的切换数据源,又因为我们是通过实体单元的注入来完毕的.实体单元是通过注解的形式注入的.这样假 ...

  7. DevExpress Winform 通用控件打印方法(允许可自定义边距) z

    DevExpress Winform 通用控件打印方法,包括gridcontrol,treelist,pivotGridControl,ChartControl,LayoutControl...(所有 ...

  8. JS实现经典生产者消费者模型

    因为node使用单线程的方式实现,所以,在此使用定时器timer取代线程thread来实现生产者消费者模型. 代码例如以下: var sigintCount = 0; var productArray ...

  9. Appium+python自动化21-DesiredCapabilities详解

    Appium Desired Capabilities Desired Capabilities 是由 keys 和 values 组成的 JSON 对象. 举个简单例子: { "platf ...

  10. Appium+python自动化18-brew、carthage和appium-doctor

    前言 本篇安装brew.carthage,解决启动appium时的报错问题,另外安装appium-doctor检查appium的环境 1.brew 2.carthage 3.appium-doctor ...