首页 > 软件开发 > JavaScript >

js变量及其作用域(附例子及讲解)

来源:互联网 2023-03-17 00:48:07 497

Javascript和Java、C这些语言不同,它是一种无类型、弱检测的语言。它对变量的定义并不需要声明变量类型,我们只要通过赋值的形式,可以将各种类型的数据赋值给同一个变量HiA办公区 - 实用经验教程分享!

js变量及其作用域(附例子及讲解)HiA办公区 - 实用经验教程分享!

工具/原料

  • Chrome 浏览器(以下代码测试均由Chrome调试)

方法/步骤

  • js变量的类型及申明方式等等,本文不再说明,读者可以参考相关官方文档HiA办公区 - 实用经验教程分享!

    这里主要介绍js变量及其作用域HiA办公区 - 实用经验教程分享!

  • 该信息未经许可获取自百度经验
  • js变量作用域可分为:"全局变量"和"局部变量"HiA办公区 - 实用经验教程分享!

    "全局变量":申明在函数之外的变量HiA办公区 - 实用经验教程分享!

    "局部变量":申明在函数体中的变量,并且只能在当前函数体内访问,如:function(){var a = 0;}HiA办公区 - 实用经验教程分享!

    注:在申明变量是凡是没有var关键字,而直接赋值的变量均为全局变量HiA办公区 - 实用经验教程分享!

  • 下面就通过几道小例子来熟悉下HiA办公区 - 实用经验教程分享!

    1、function test() { HiA办公区 - 实用经验教程分享!

    a = 30;HiA办公区 - 实用经验教程分享!

    var b = 20;HiA办公区 - 实用经验教程分享!

    }HiA办公区 - 实用经验教程分享!

    test();HiA办公区 - 实用经验教程分享!

    console.log("a=" a); //这里很明显,a为全局变量HiA办公区 - 实用经验教程分享!

    console.log("b=" b);//b为局部变量,故在函数test外调用是,提示未定义HiA办公区 - 实用经验教程分享!

    js变量及其作用域(附例子及讲解)HiA办公区 - 实用经验教程分享!

  • 2、HiA办公区 - 实用经验教程分享!

    var a = 1;HiA办公区 - 实用经验教程分享!

    function test() { HiA办公区 - 实用经验教程分享!

    console.log("a=" a); //这里a为undefinedHiA办公区 - 实用经验教程分享!

    /*函数中声明的变量在整个函数中都有定义。如果函数内部有定义变量,即使在定义之前输出但会先执行后面定义语句,然后判断输出结果,所以说声明的变量在整个函数中都是起作用的。*/HiA办公区 - 实用经验教程分享!

    var a = 2;HiA办公区 - 实用经验教程分享!

    }HiA办公区 - 实用经验教程分享!

    test();HiA办公区 - 实用经验教程分享!

    js变量及其作用域(附例子及讲解)HiA办公区 - 实用经验教程分享!

  • 3、HiA办公区 - 实用经验教程分享!

    给两个小例子作为对比:HiA办公区 - 实用经验教程分享!

    var a;function fun() {a = "global";}console.log(a);//输出undefinedHiA办公区 - 实用经验教程分享!

    js变量及其作用域(附例子及讲解)HiA办公区 - 实用经验教程分享!

  • var a;function fun() {a = "global";}HiA办公区 - 实用经验教程分享!

    fun();console.log(a);//输出globalHiA办公区 - 实用经验教程分享!

    js变量及其作用域(附例子及讲解)HiA办公区 - 实用经验教程分享!

  • 对于上面这两个小例子,它们唯一的区别就是一个执行了fun函数,一个没有执行;HiA办公区 - 实用经验教程分享!

    如果就是HiA办公区 - 实用经验教程分享!

    var a;console.log(a);//由于a只定义,但没初始化,故输出undefinedHiA办公区 - 实用经验教程分享!

    而function fun(){...}中对a进行初始化,初始化操作实在fun函数作用域内,如果不执行fun()那么初始化操作也不会执行HiA办公区 - 实用经验教程分享!

  • 4、函数域优先于全局域,故局部变量a会覆盖掉全局变量aHiA办公区 - 实用经验教程分享!

    var a=1;HiA办公区 - 实用经验教程分享!

    function main(){HiA办公区 - 实用经验教程分享!

    var a=2;//局部变量HiA办公区 - 实用经验教程分享!

    console.log(a);//2HiA办公区 - 实用经验教程分享!

    }HiA办公区 - 实用经验教程分享!

    main();HiA办公区 - 实用经验教程分享!

    console.log(a);//1HiA办公区 - 实用经验教程分享!

    js变量及其作用域(附例子及讲解)HiA办公区 - 实用经验教程分享!

  • 5、javascript没有块级作用域HiA办公区 - 实用经验教程分享!

    function test(){HiA办公区 - 实用经验教程分享!

    for(var i = 0 ; i 3 ; i ){HiA办公区 - 实用经验教程分享!

    //i=0,1,2,最后执行到i=3时退出循环HiA办公区 - 实用经验教程分享!

    }HiA办公区 - 实用经验教程分享!

    console.log(i);//3HiA办公区 - 实用经验教程分享!

    }HiA办公区 - 实用经验教程分享!

    test();HiA办公区 - 实用经验教程分享!

    相当于HiA办公区 - 实用经验教程分享!

    function test(){HiA办公区 - 实用经验教程分享!

    var i;HiA办公区 - 实用经验教程分享!

    for(i = 0; i 3; i ){HiA办公区 - 实用经验教程分享!

    //i=0,1,2,最后执行到i=3时退出循环HiA办公区 - 实用经验教程分享!

    }HiA办公区 - 实用经验教程分享!

    console.log(i);//3HiA办公区 - 实用经验教程分享!

    }HiA办公区 - 实用经验教程分享!

    test();HiA办公区 - 实用经验教程分享!

    js变量及其作用域(附例子及讲解)HiA办公区 - 实用经验教程分享!

以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!HiA办公区 - 实用经验教程分享!


标签: JAVASCRIPT

办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码