先看一下这段Javascript脚本代码:

 1<script language="javascript">
 2    <!--
 3        var v = "aaa"; 
 4        function func()
 5        
 6            alert(v); 
 7            var v = "bbb"; 
 8        }
 9    //-->
10</script>

alert 出来的是什么?在我们看来应该是 "aaa",实际上alert 出来的是 "undefined"。为什么?
因为 Javascript为了简化处理,变量实际上只有两种作用域,全局变量和函数的内部变量。你在函数内部任何一个地方定义的变量其作用域都是整个函数体。而在 alert 的时候函数的内部变量 v 已经定义了,并且覆盖掉了同名的全局变量的定义,只是还没有被初始化,所以 alert 出来的是 "undefined"。

转载于:https://www.cnblogs.com/Terrylee/archive/2005/12/23/303192.html

注意细节:Javascript中的变量作用域相关推荐

  1. Javascript 中的变量作用域问题

    Js中的变量作用域问题: 1.没有块级作用域.Js中的变量作用域不是以{}为界的,不像C/C++/Java. 如: 1 if(true){ 2 var name = "qqyumidi&qu ...

  2. Javascript中闭包的作用域链

    作用域定义了在当前上下文中能够被访问到的成员,在Javascript中分为全局作用域和函数作用域,通过函数嵌套可以实现嵌套作用域. 闭包一般发生在嵌套作用域中.闭包是JavaScript最强大的特性之 ...

  3. 【Python】Python中令人头疼的变量作用域问题,终于弄清楚了

    [Python]Python中令人头疼的变量作用域问题,终于弄清楚了_fengdu78的博客-CSDN博客 [Python]Python中令人头疼的变量作用域问题,终于弄清楚了_fengdu78的博客 ...

  4. javascript基础系列:javascript中的变量和数据类型(一)

    javascript基础系列:javascript中的变量和数据类型(一) 今天开始去重新系统温习一遍js基础,并作下记录 javascript是由三部分组成: ECMASCRIPT(ES): 描述了 ...

  5. javascript中的变量如果没有定义就使用的话

    javascript中的变量如果没有定义就使用的话 那么这个变量将成为全局变量 是不是这样的呢 转载于:https://www.cnblogs.com/virusswb/archive/2008/03 ...

  6. 如何在JavaScript中检查变量是否为整数?

    本文翻译自:How to check if a variable is an integer in JavaScript? How do I check if a variable is an int ...

  7. 在javaScript中,变量名和函数名不能重名

    直接上代码和截图 在javaScript中,变量的名字和函数的名字不能取一样的名字(即变量名和函数名不能重名) <script type="text/javascript"& ...

  8. Python中的变量作用域

    1.变量的作用域:即变量的有效范围.变量并不是在哪个位置都可以访问的,访问权限取决于这个变量是在哪里赋值的,也就是在哪个作用域内的. 2.在Python中,没有块级作用域,也就是说类似if语句块.fo ...

  9. C++中的变量作用域介绍

    1.Cpp的变量作用域 作用域是程序的一个区域,一般来说有三个地方可以定义变量: 局部变量:在函数或一个代码块内部声明的变量 形式参数:在函数参数的定义中声明的变量(稍后介绍) 全局变量:在所有函数外 ...

  10. javascript中对变量类型的判断

    在JavaScript中,有5种基本数据类型和1种复杂数据类型,基本数据类型有:Undefined,Null,Boolean, Number和String:复杂数据类型是Object,Object中还 ...

最新文章

  1. Python 无法安装PyAudio问题
  2. 【SSH网上商城项目实战23】完成在线支付功能
  3. $.messager.confirm (使用$.messager.defaults修改按钮显示文字)
  4. python做mysql数据迁移_Python中MySQL数据迁移到MongoDB脚本的方法
  5. 如何入门技术、进阶技术(技术开发人员)
  6. linux下通用Makefile写法
  7. C语言指针怎么存二维数组,C语言怎么用指针代替二维数组
  8. 服务器向客户机发信息,服务器如何主动给客户端发消息
  9. 计算广告(computational advertising)
  10. 多款免费可商用的微信小程序开源源码推荐(商城类)
  11. python使用turtle库绘制一个100长度的十字架_哪个选项能够使用turtle库绘制一个半圆形?...
  12. HCIP2------BGP1
  13. 观影计划:漫威电影宇宙「无限战争」系列
  14. 第四届橙瓜网络文学奖20年十佳言情大神天下归元暂时排第三名
  15. 电脑开机启动项选择快捷键大全
  16. 照片怎么添加相框?分享你和好用的方法
  17. 专访神州飞象高级数据库工程师赖伟:迁移不怕难,大象肚里能撑船
  18. Android WebService(基于SOAP协议)个人记录总结
  19. 计算机职称证书退休工资,职称就像是一座大山,相同教龄不同职称的教师退休工资相差多少?...
  20. 理解PBR:从原理到实现(上)

热门文章

  1. 实习踩坑之路:Git无法拉取最新分支代码?怎么解决?
  2. 实习踩坑之路:使用@Value注解导致Parse attempt failed for value [08:00],时间转换出错?
  3. 有关Spring中Resource的继承关系(代码解读)
  4. openEuler 高校开发者大赛报名启动!广阔天地,码出不凡
  5. Android使用ListView时item失效解决方案
  6. 吊炸天!15岁成杀人犯,监狱里学编程,37岁获释后年薪70万
  7. ceph 存储 对比_对象存储cleversafe对比ceph有哪些优势?
  8. php 字符串中 数组变量,PHP返回变量或数组的字符串表示:var_export()
  9. Python让繁琐工作自动化——chapter17 操作图像
  10. 安卓帧数监测软件_还在用游戏加加看帧数?驴哥教你怎么用微星小飞机的硬件监测功能...