【笔记】 《js权威指南》- 第3章 类型、值和变量 - 3.10 变量作用域
2016-04-01 13:48
417 查看
1.同名情况下,当前局部变量的优先级更高;
2.不用var声明的变量视为全局变量;
3.js采用函数作用域而不是块级作用域,变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的。
4.由于变量在整个函数体内都是有定义的,所以存在声明提前:
5.未使用var声明的全局变量是全局对象的属性:
2.不用var声明的变量视为全局变量;
3.js采用函数作用域而不是块级作用域,变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的。
function test(o) { var i = 0; if (typeof o == "object") { var j = 0; for (var k = 0; k < 10; k++) { //0-9 console.log(k); } //k已经定义了,输出10 console.log(k); } //j已经定义了,但可能没有初始化 console.log(j); }
4.由于变量在整个函数体内都是有定义的,所以存在声明提前:
var scope = "global"; function f() { //输出undefined而不是global console.log(scope); var scope = "local"; //输出local console.log(scope); }
5.未使用var声明的全局变量是全局对象的属性:
var truevar = 1; fakevar = 2; this.fakevar2 = 3; //false delete truevar //true delete fakevar; delete fakevar2;
相关文章推荐
- Lua中的全局变量、非全局变量总结
- js DOM 元素ID就是全局变量
- c语言全局变量和局部变量问题及解决汇总
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- 深入uCOS中全局变量的使用详解
- Ruby 中$开头的全局变量、内部变量、隐藏变量介绍
- sqlserver 局部变量的使用
- 全局变量与局部变量在内存中的区别详细解析
- PHP全局变量与超级全局变量区别分析
- JavaScript 学习笔记之变量及其作用域
- 关于全局变量和局部变量的那些事
- 深入理解javascript作用域和闭包
- javascript作用域和闭包使用详解
- 深入浅析JavaScript中的作用域和上下文
- javascript中局部变量和全局变量的区别详解
- java 对象和局部变量,全局变量。
- JavaScript中的闭包
- 作用域
- 函数的返回值
- Jsp页面中判断字符串是否包含另一个字符串的两种方法,js判断包含的indexOf()方法