js中所有的变量声明var当被悬置到函数的顶部
来源:互联网 发布:丰城生活丰城网络问政 编辑:程序博客网 时间:2024/05/29 03:28
// 反例myname = "global"; // 全局变量function func() { alert(myname); // "undefined" var myname = "local"; alert(myname); // "local"}func();
在这个例子中,你可能会以为第一个alert弹出的是”global”,第二个弹出”loacl”。这种期许是可以理解的,因为在第一个alert 的时候,myname未声明,此时函数肯定很自然而然地看全局变量myname,但是,实际上并不是这么工作的。第一个alert会弹 出”undefined”是因为myname被当做了函数的局部变量(尽管是之后声明的),所有的变量声明当被悬置到函数的顶部了。因此,为了避免这种混 乱,最好是预先声明你想使用的全部变量。
上面的代码片段执行的行为可能就像下面这样:
var myname = "global"; // global variablefunction func() { var myname; // 等同于 -> var myname = undefined; alert(myname); // "undefined" myname = "local"; alert(myname); // "local" }func();
0 0
- js中所有的变量声明var当被悬置到函数的顶部
- Node.js 中 变量声明 带var 和不带var 的情况
- C#变量声明中var的使用
- JS中VAR的用处(局部变量要用var来声明,全局变量不加var)
- js中var的重复声明
- js中var声明和不加var的区别
- JS中用var声明变量和不用的区别
- JS中声明变量的三种方式 const var let
- JavaScript基础:JS函数中声明的所有变量在整个函数中都是有定义的
- js中变量的声明
- javascript中必须使用var声明局部变量的情况
- js中 var a = function(){} 与function b(){}两种函数声明的区别
- js中变量的函数作用域和声明提前
- JS变量重复声明以及忽略var 声明的问题及其背后的原理
- JavaScript中变量声明有var和没var的区别
- JavaScript中声明变量时 带var和不带var的区别
- JavaScript中变量声明有var和没var的区别示例介绍
- js函数的参数声明中用var与不用var的区别
- [从头读历史] 第283节 神之物语 从克里特岛到底比斯
- UVa 247 - Calling Circles
- 搭建你的Spring.Net+Nhibernate+Asp.Net Mvc 框架 (二)创建你的项目
- oracle Client11G静默安装过程——linux环境
- 【Java基础知识】Java语言的运行过程
- js中所有的变量声明var当被悬置到函数的顶部
- 致我们终将组件化的web
- javascript中forEach
- openGL中矩阵相乘的顺序
- 三消游戏中重新刷块的bug记录
- 发送,取消notification,打开,关闭闪光灯。
- hibernate自动键表报MySQL server version for the right syntax to use near 'type=InnoDB' at line 1
- Matlab的GUI中figure的WindowButtonDownFcn与axes的ButtonDownFcn
- 如何自己动手实现 KVO