当前位置: 首页 > news >正文

JavaScript --函数作用域变量的使用规则(局部和访问)

访问规则,就近原则

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>// 全局变量100var num = 100function test1(){var num = 200function child(){var num = 300console.log(num)}child()}test1()</script>
</body>
</html>

 就近原则   num 等于100

<script>// 全局变量100var num = 100function test1(){var num = 200function child(){// var num = 300console.log(num)}child()}test1()</script>

 num等于300的注释掉,往上找,所以num等于200

 

  num=300和num = 200注释掉,在往上找,所以num等于100

 <script>// 全局变量100var num = 100function test1(){// var num = 200function child(){// var num = 300console.log(num)}child()}test1()</script>

 

 赋值规则,就近原则

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>// 全局变量100// num值不改变var num = 100function test1(){// num值不改变var num = 200function child(){var num = 300// 只改变最近的num的值num = 400console.log(num)}child()}test1()</script>
</body>
</html>

 

 

<body><script>// 全局变量100// num值不改变var num = 100function test1(){// num值变成400var num = 200function child(){// var num = 300// 只改变最近的num的值num = 400console.log(num)}console.log("修改前",num)child()console.log("修改后",num)}test1()</script>

 特殊情况

赋值的时候往上找找到最外层都没找到,就把这个num=400变成全局变量

<script>// 全局变量100// num值不改变// var num = 100function test1(){// num值变成400// var num = 200function child(){// var num = 300// 只改变最近的num的值num = 400console.log(num)}// console.log("修改前",num)child()console.log("修改后",num)}test1()</script>

 


http://www.mrgr.cn/news/27042.html

相关文章:

  • Python+Pytest框架,“conftest.py文件编写如何获取token和获取日志“?
  • 大数据热门技术
  • 算法基础-快速幂
  • 《C++模板元编程:高效实现编译期斐波那契数列计算》
  • 论文写作难?用这套ChatGPT提示词3小时完成论文初稿!
  • 大顶堆+动态规划+二分
  • 【python】python版本管理工具
  • Mybatis接受查询结果的情况
  • 闯入清洁家电“诸神之战”的萤石,凭什么立足?
  • 最强AI照片说话Windows一体包下载地址,口型合成音频驱动图片,免安装,下载即用
  • Docker 安装配置和基本命令详解以及案例示范
  • UART 16550的使用
  • 【25.3】C++智能交友系统
  • 【C++知识扫盲】-----初识迭代器
  • 蔚来充换电站数字化运维系统案例分享
  • Linux环境
  • [Linux入门]---使用exec函数实现简易shell
  • Python基础语法(3)上
  • MySQL 表的增删改查
  • 多模态学习