下面给大家看个例子,这个毫无疑问打印出10

         var a = 10;
function test() {
console.log(a);
}
test();

下面我改动一下

         var a = 10;
function test(){
console.log(a);
var a = 9;
console.log(a);
}
test();

这个时候会打印出

我个人觉得:在调用test方法执行到console.log(a)这句时会扫描下整个方法是否有定义a变量,如果没有则继续往上找,如果找到则停止,也就是第一个为什么能打印出10

如果在方法内有找到此变量,则不再往上寻找,此时a没有被赋值,则为undefined。

不知理解的有没有问题,希望大家指点

Javascript"怪异"现象的更多相关文章

  1. 你所不了解的float(滥用float的怪异现象)

    float设计初衷就是为了实现文字环绕效果 原本页面流布局显示如上图所示,运用了float属性后就显示为如下图所示,这就是浮动的设计初衷 float的一些特性:包裹性.破坏性. 包裹的特性其实主要有三 ...

  2. android ListView的怪异现象

    我们已经知道,当条目没显示一次,那个类重写的最后一个函数就执行一次,但是现在,发生了怪异现象!当窗体的属性设置为包裹的时候,会重复显示多次,所以,高度,宽度都要设置为充满类型才可以

  3. 你所不了解的float(滥用float的怪异现象) (转)

    阅读目录 float设计初衷就是为了实现文字环绕效果 如何解决浮动造成的父容器塌陷? 兼容各浏览器清除浮动的通用方式 滥用浮动 运用浮动的一些特性 浮动与布局 浮动与单侧固定布局 浮动与智能自适应的流 ...

  4. (转)自己来控制EntityFramework4.1 Code-First,逐步消除EF之怪异现象

    转自:http://www.cnblogs.com/richwong/archive/2011/07/06/2098759.html 最近的项目开始使用EF4.1,拜读各路大侠文章数遍,满以为可以轻车 ...

  5. delphi 字符串处理中的怪异现象与处理

    1, 怪异现象:字符串相加操作不正常! 以上代码,明显输出字符串应含有后缀“.jpg”,但实际输出却不含后缀(如下),字符串加法操作似乎不起作用了! 采用showMessage进行输出,看看结果如何? ...

  6. JavaScript中this的一些怪异现象

    <!--JavaScript伪协议和内联事件对于this的指向不同--> <a href="#" onclick="alert(this.tagName ...

  7. tcl中数字加减的怪异现象

    今天做一个数字转换的测试,发现一个比较怪异的错误: 这样子不能直接处理字符串了. 在编译器中进行处理: 发现除了8和9,其他的字符前面有0的话都可以! 所以需要对数字小于10的数进行屏蔽,或者对09  ...

  8. 一次应用js文件时遇到的怪异现象

    使用thinkphp开发的网页中, 应用js文件 <script  language="JavaScript"  src="__JS__/printer/jquer ...

  9. PHP函数 rtrim() 的一个怪异现象

    今天用rtrim()函数时遇到了一个奇怪的问题: echo rtrim('<p></div>', '</div>'); // 输出为 <p echo ltri ...

随机推荐

  1. 局域网&广域网&Internet&计算机通信过程

    1.局域网 覆盖范围小(100m以内),自己花钱购买,自己单位来维护,带宽固定的(10M,100M,1000M) 2.Internet ISP,有自己的机房,对网民提供访问Internet连接 3.广 ...

  2. 冒泡排序&快速排序

    1.排序分为以下四类共七种排序方法: 交换排序: 1) 冒泡排序  2) 快速排序 选择排序: 3) 直接选择排序  4) 堆排序 插入排序: 5) 直接插入排序  6) 希尔排序 合并排序: 7) ...

  3. centos使用--centos7.3配置LNMP

    目录 1 源的配置 2 安装软件 2.1 安装php7 2.2 安装nginx 2.3 安装mysql 2.4 安装vsftp (ftp登录配置) 3 开机启动设置 4 其它一些配置 4.1 git的 ...

  4. 《Cracking the Coding Interview》——第16章:线程与锁——题目2

    2014-04-27 19:14 题目:如何测量上下文切换的时间? 解法:首先,上下文切换是什么,一搜就知道.对于这么一个极短的时间,要测量的话,可以通过放大N倍的方法.比如:有A和B两件事,并且经常 ...

  5. 使用Visual Studio 快速把 Json,Xml 字符串创建为一个实体类

  6. js valueOf和toString方法

    JavaScript原生提供一个Object对象,所有其他对象都继承自这个对象,Object对象有valueOf和valueOf方法,所以所有JS数据类型都继承了这两种方法.   valueOf:返回 ...

  7. navmesh自动寻路

    一个导航网格(也就是Navmesh)是世界几何体简化的表示法,被游戏代理用于在世界中进行导航.通常,代理(agent )有一个目标,或一个目的地,它试图找到一个路径,然后沿路径导航到达目标.这个过程被 ...

  8. 软工实践 - 第十八次作业 Alpha 冲刺 (9/10)

    队名:起床一起肝活队 组长博客:https://www.cnblogs.com/dawnduck/p/10035464.html 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过 ...

  9. poj 2299 归并排序求逆序数 (可做模板)

    Time Limit: 7000MS   Memory Limit: 65536K Total Submissions: 48077   Accepted: 17533 Description In ...

  10. 浅谈数据库系统中的cache(转)

    http://www.cnblogs.com/benshan/archive/2013/05/26/3099719.html 浅谈数据库系统中的cache(转)   Cache和Buffer是两个不同 ...