• 中国新一代百亿亿次超级计算机“天河三号”原型机首次亮相[组图] 2018-08-17
  • “动静”结合丨带你感受不一样的实爆训练场 2018-08-17
  • 侠客岛:拿什么拯救你,不学普通话的香港年轻人 2018-08-17
  • 机构改革是一场政治考验 2018-08-17
  • 简讯:韩国前总统朴槿惠一审被判24年有期徒刑 2018-08-16
  • 人民网评:走向大洋,呼唤现代化的中国海军 2018-08-16
  • 北京成立学生申诉处理委员会-地方新闻-时政频道-中工网 2018-08-16
  • 虽胜不足喜!鲁能一隐忧不治愈,恐高开低走 2018-08-16
  • 小鱼儿戴胡可帽子似贵妇 临睡之前表白妈妈嘴超甜 2018-08-16
  • “北京8分钟”融入人工智能 通过互联网与国人互动 2018-08-16
  • 四部门调整完善新能源汽车推广应用财政补贴政策 2018-08-15
  • 两男子在吉大美食城“百元找零”诈骗? 2018-08-12
  • 突破!郑鹏创中国队冬残奥会个人项目最好成绩 2018-08-12
  • 今年铜陵市将治理水土流失面积36平方公里 2018-08-11
  • 篮球投注技巧 2018-08-11
  • javascript:浅谈JS的全局变量和局部变量

    栏目: 我的笔记 发布于: 2014-08-11 11:38:53

    前几天在写javascript代码过程中,对变量的作用域使用出现了些错误,归纳起来还是自己对JS全局变量局部变量的概率掌握的不够全面。

    这里记录一下对JS全局变量和局部变量的补充知识。

    先来看看几段代码:

    代码1:

    <script>
    var domain = 'www.rocksun.cn';
    
    function test()
    {
        alert(domain);
    }
    test();
    </script>
    代码2:
    <script>
    var domain = 'www.rocksun.cn';
    
    function test()
    {
        var domain = 'rocksun.cn';
        alert(domain);
    }
    alert(domain);
    test();
    </script>
    代码3:
    <script>
    var domain = 'www.rocksun.cn';
    
    function test()
    {
        alert(domain);
        var domain = 'rocksun.cn';
        alert(domain);
    }
    alert(domain);
    test();
    </script>

    这3段代码输出结果是什么?

    你知道吗?

    来看看正确答案:

    代码1:www.rocksun.cn
    
    代码2:www.rocksun.cn    rocksun.cn
    
    代码3:www.rocksun.cn    undefined    rocksun.cn
    输出结果是不是和你想的一样呢?

    好吧,让我们来分析一下这3段代码:

    代码1:定义了一个全局变量domain,它的作用域是整个程序

    代码2:在函数内部定义了一个全局变量domain,在函数内部定义了一个同名的局部变量domain,这时全局变量的作用域就不包含局部变量的作用域了

    代码3:对于这段代码,比较让人疑惑的是为什么会输出一个 undefined?那是因为在函数内部定义了一个局部变量,而全局变量的作用域是不包含同名局部变量作用域的(代码2所示),所有函数test内部使用的变量domain都是局部变量,在输出第一个alert时没有对变量进行赋值,结果当然为undefined了。

    最后我们总结一下JS变量的作用域:

    全局变量:

    1、当全局变量和局部变量不同名时,全局变量的作用域为整个程序。

    2、当全局变量和局部变量同名时,全局变量的作用域不包含局部变量作用域块。

    局部变量:

    1、当外层过程的局部变量名和嵌套过程中的局部变量不同名时,外层局部变量作用域包含嵌套过程。

    2、当外层过程的局部变量名和嵌套过程内的局部变量名同名时,外层局部变量作用域不包含此过程。

    本站文章除注明转载外,均为本站原创或编译?;队魏涡问降淖?,但请务必注明出处。
    转载请注明:文章转载自 七星彩票平台
    本文标题:javascript:浅谈JS的全局变量和局部变量
    IT技术书籍推荐:
    利用Python进行数据分析
    利用Python进行数据分析
    麦金尼 (Wes McKinney) (作者), 唐学韬 (译者), 等 (译者)
    《利用Python进行数据分析》内容简介:学习NumPy(NumericalPython)的基础和高级知识;从pandas库的数据分析工具开始利用高性能工具对数据进行加载、清理、转换、合并以及重塑;利用matpIotlib创建散点图以及静态或交互式的可视化结果;利用pandas的groupby功能对数据集进行切片、切块和汇总操作;处理各种各样的时间序列数据。