美文网首页
作用域和作用域链

作用域和作用域链

作者: A110802 | 来源:发表于2019-06-28 06:45 被阅读0次

作用域

全局作用域

任何没有在方法中的变量都是在全局作用域中,全局作用域中农的变量可以在程序中的任何地方访问

```

var greeting = 'Hello World!';

function greet() {

    console.log(greeting);

}

// 打印'Hello World!'

greet();

```

局部作用域

声明在方法中的变量就是局部作用域,这些变量只能在声明的方法内使用,
```

function greet() {

    var greeting = 'Hello World!';

    console.log(greeting);

}

// 打印'Hello World!'

greet();

// Uncaught ReferenceError: greeting is not defined

console.log(greeting);

```

作用域链

当一个变量在js中被使用的时候,js引擎会尝试在当前作用域下寻找这个变量,如果没有找到就会继续再上一层寻找直到找到全局作用域。如果还是没有找到就会返回错误。

For example:

```

let foo = 'foo';

function bar() {

    let baz = 'baz';

    //打印 'baz'

    console.log(baz);

    // 打印 'foo'

    console.log(foo);

    number = 42;

    console.log(number);  // 打印42

}

bar();

```

相关文章

  • 作用域链和闭包

    在谈作用域链之前先说一下与作用域链关系紧密的执行环境和作用域。 作用域:作用域指的是变量的适用范围。 作用域链:作...

  • 彻底搞懂JS作用域和作用域链

    作用域和作用域链 作用域:决定了代码区块中变量和其他资源的可见性; ·全局作用域和函数作用域 作用域是分层的内部可...

  • JavaScript面试考点之作用域和作用域链、执行上下文和执行

    1、作用域和作用域链 1)作用域 作用域是变量(变量作用域又称上下文)和函数生效(能被访问)的区域。作用域决定了代...

  • JS 作用域

    作用域 作用域:限制某个变量在某个区域内有效 作用域分为 全局作用域 和 局部作用域 作用域链 从里到外依次执行 ...

  • 2023-01-12

    变量提升调用栈块级作用域作用域链和闭包 闭包 => 作用域链(词法作用域) => 调用栈(栈溢出) => 上下文...

  • JavaScript核心技术开发解密读书笔记(第五章)

    第五章 作用域与作用域链 1. 作用域 常见的作用域有两种,全局作用域和函数作用域。ES6中新增了块级作用域。全局...

  • 5分钟入门闭包

    理解闭包前先要理解两个概念:作用域和作用域链。一、作用域分为: 全局作用域 函数作用域 var a = 100 f...

  • web性能实践

    一. 作用域 前面我们了解作用域概念的以及作用域链是如何运作的。 随着作用域链中的作用域数量的增加,访问当前作用域...

  • JavaScript散乱(四、细节)

    js高级 案例问题 作用域和作用域链 全局作用域也就是window和函数作用域,不考虑es6的块级作用域前提下,作...

  • javascript基础知识问答-作用域和闭包

    1.理解词法作用域和动态作用域2.理解JavaScript的作用域和作用域链3.理解JavaScript的执行上下...

网友评论

      本文标题:作用域和作用域链

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