函数中声明变量不用Var的情况
2017-08-30 10:11
218 查看
我们都知道函数中声明变量不用Var时这个变量会成为全局变量,但是并不是函数一开始执行就会把它变为全局变量,必须执行到这条语句。
看一段代码
function f(){
alert(a);
a = 3;
}
f(); //error: a is not defined
只有函数内部执行到a = 3时,a才会成为全局变量并且等于3,因为这个函数不可能执行到这句语句,所以error: a is not defined
再看一段代码
(function(){
bar();
bar=function(){
alert("1")}
}
)();
依旧是:Uncaught ReferenceError: bar is not defined
看一段代码
function f(){
alert(a);
a = 3;
}
f(); //error: a is not defined
只有函数内部执行到a = 3时,a才会成为全局变量并且等于3,因为这个函数不可能执行到这句语句,所以error: a is not defined
再看一段代码
(function(){
bar();
bar=function(){
alert("1")}
}
)();
依旧是:Uncaught ReferenceError: bar is not defined
相关文章推荐
- js中所有的变量声明var当被悬置到函数的顶部
- Node.js 中 变量声明 带var 和不带var 的情况
- JavaScript_var和不用var声明变量的区别
- 微信开发之js声明变量用"var"与不用"var"的区别
- var声明的成员变量和函数内声明的变量区别
- 函数内声明变量不加var和加var的区别
- javascript 直接创建对象与间接创建对象 私有函数不能访问this变量 是否使用var声明变量几个问题探讨
- JS中用var声明变量和不用的区别
- 在函数内部定义的变量加与不加var的区别,匿名函数和有名函数内声明变量的区别
- Js 变量声明提升和函数声明提升
- 在Javascript中 声明时用"var"与不用"var"的区别,== 和 ===的区别
- 写一个不用cmp指令不用临时变量的int max(int a,int b)函数 不用if ? : switch
- JavaScript的变量及数据类型小结在 JavaScript 函数内部声明的变量
- 不同域(全局,局部)var变量声明的问题
- php filter_has_var 判断变量是否存在函数
- 查看Linux下*.a库文件中文件、函数、变量等情况
- for循环绑定事件时,var和let声明循环变量的区别
- js 函数定义,使用,作用域,变量声明提升,遇解析.....
- 使用var声明的变量 和 直接赋值并未声明的变量的区别
- JavaScript 函数与变量的几种特殊情况