js函数作用域及变量声明提前 您所在的位置:网站首页 函数已在此作用域内声明怎么改 js函数作用域及变量声明提前

js函数作用域及变量声明提前

2024-07-15 21:50| 来源: 网络整理| 查看: 265

作用域 函数的作用域指的是在{}内所执行的方法。

function foo() { var a = 1;//这个a的作用域在foo中 function foo2() { var a = 2;//这个a的作用域在foo2中 console.log(a)//2 } foo2() console.log(a)//1 } foo()

由上可知,变量的执行只在对应的作用域中才会有效。

function foo() { var b = 2//在foo中定义b function foo2() { b = 3//在foo2中对b重新赋值 } foo2() console.log(b)//3 } foo()

由上可知,在在foo2中对b重新赋值会对foo中的b产生影响。

变量声明提前

function foo() { console.log(b)//undefined var b = 2//在foo中定义b console.log(b)//2 } foo()

使用var定义变量时,提前使用变量时,变量值为undefined。

function foo() { console.log(b)//会出现暂时性死区 let b = 2//在foo中定义b console.log(b)//不会执行 } foo()

使用let定义变量时,提前使用变量时,会出现暂时性死区。 有兴趣的话可以去看看es6对于暂时性死区的详解,这里不做过多赘述。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有