zoukankan      html  css  js  c++  java
  • 10JavaScript作用域

    (作用域可访问变量的集合)

    1.JavaScript 作用域

    在 JavaScript 中, 对象和函数同样也是变量。

    在 JavaScript 中, 作用域为可访问变量,对象,函数的集合。

    JavaScript 函数作用域: 作用域在函数内修改

    2.JavaScript 局部作用域

    变量在函数内声明,变量为局部作用域。

    局部变量:只能在函数内部访问。

    实例:

     1 <!DOCTYPE html>
     2 <html>
     3 <head> 
     4 <meta charset="utf-8"> 
     5 <title>Yubaba</title> 
     6 </head>
     7 <body>
     8 
     9 <p>局部变量在声明的函数外不可以访问。</p>
    10 <p id="demo"></p>
    11 <script>
    12 myFunction();
    13 document.getElementById("demo").innerHTML = "carName 的类型是:" +  typeof carName;
    14 function myFunction() 
    15 {
    16     var carName = "Yubaba";//这边的函数,上面是不能访问的,所以typeof carName输出的是undefined。
    17 }
    18 </script>
    19 
    20 </body>
    21 </html>

    输出结果:

    因为局部变量只作用于函数内,所以不同的函数可以使用相同名称的变量。

    局部变量在函数开始执行时创建,函数执行完后局部变量会自动销毁。

    以下实例中 carName 在函数内,但是为全局变量,因为变量没有声明,它将自动成为全局变量。

     1 <!DOCTYPE html>
     2 <html>
     3 <head> 
     4 <meta charset="utf-8"> 
     5 <title>Yubaba</title> 
     6 </head>
     7 <body>
     8 
     9 <p>
    10 如果你的变量没有声明,它将自动成为全局变量:
    11 </p>
    12 <p id="demo"></p>
    13 <script>
    14 myFunction();
    15 document.getElementById("demo").innerHTML =
    16     "我可以显示车的名字为:" + carName;
    17 function myFunction() 
    18 {
    19     carName = "BMW";//变量没有声明,它将自动成为全局变量
    20 }
    21 </script>
    22 
    23 </body>
    24 </html>

    3.JavaScript 变量生命周期

    JavaScript 变量生命周期在它声明时初始化。

    局部变量在函数执行完毕后销毁。

    全局变量在页面关闭后销毁。

    4.函数参数

    函数参数只在函数内起作用,是局部变量。

    5.HTML 中的全局变量

    在 HTML 中, 全局变量是 window 对象: 所有数据变量都属于 window 对象

    注:

    局部变量:在函数中通过var声明的变量。

    全局变量:在函数外通过var声明的变量。

    没有声明就使用的变量,默认为全局变量,不论这个变量在哪被使用。

  • 相关阅读:
    旧贴-在 win7 / win8 下安装苹果系统 (懒人版)
    解决ios13摇一摇不能触发
    html+css面试合集
    Windows 2012 Server R2 添加用户
    Windows10专业版身份验证错误,可能由于CredSSP加密数据库修正
    STM32F4 7.STM32F4 独立看门狗
    STM32F4 6.STM32F4 外部中断
    STM32F4 5.STM32F4串口通讯
    STM32F4 4.STM32F4时钟系统
    STM32F4 3.GPIO按键输入,实现开关灯
  • 原文地址:https://www.cnblogs.com/lmyupupblogs/p/10266907.html
Copyright © 2011-2022 走看看