JS – 作用域问题JS – 作用域问题Table of Contents变量声明和函数声明function f() { a = 3; // 相当于 window.a = 3}f();alert(a); // 3function f() { var a = 3;}f();alert(a); ...
分类:
Web程序 时间:
2015-08-09 20:31:58
阅读次数:
145
作用域永远都是任何一门编程语言中的重中之重,因为它控制着变量与参数的可见性与生命周期。讲到这里,首先理解两个概念:块级作用域与函数作用域。什么是块级作用域呢?任何一对花括号({和})中的语句集都属于一个块,在这之中定义的所有变量在代码块外都是不可见的,我们称之为块级作用域。函数作用域就好理解了(*^...
分类:
Web程序 时间:
2015-08-02 15:04:54
阅读次数:
143
面试必问题,闭包是啥有啥子用,觉得自己之前回答的并不好,所以这次复习红皮书的时候总结一下。 提到闭包,相关的知识点比较多,所以先罗列一下要讲的内容。 1.作用域链,活动对象 2. 关于this对象 3. 垃圾回收机制,内存泄漏 4. 模仿块级作用...
分类:
Web程序 时间:
2015-07-13 20:30:51
阅读次数:
125
vara=2,b=3,c=1;functiontest(a){a=1;varb=2;c=3;}test(10);alert(a);alert(b);alert(c);答案是233var a = 2, b = 3, c = 1; function test(a) { ...
分类:
Web程序 时间:
2015-07-07 18:28:03
阅读次数:
124
// 作用域:(1)域:空间、范围、区域…… (2)作用:读、写 script 全局变量、全局函数自上而下 函数由里到外 浏览器: “JS解析器” 1)“找一些东西” :var function 参数 a = ... 所有的变量,在正式运行代码之前,都...
分类:
Web程序 时间:
2015-07-07 12:49:53
阅读次数:
142
要理解变量的作用域范围就得先理解作用域链用var关键字声明一个变量时,就是为该变量所在的对象添加了一个属性。作用域链:由于js的变量都是对象的属性,而该对象可能又是其它对象的属性,而所有的对象都是window对象的属性,所以这些对象的关系可以看作是一条链链头就是变量所处的对象,链尾就是window对...
分类:
Web程序 时间:
2015-06-10 17:06:09
阅读次数:
114
无标题文档 /*var num = 0;function fn1(){ num++; 能改变num是因为这里找不到,去父级找,进而修改。}function fn2(){ num--;}fn2();fn1();fn2();alert(num); // -1*//* 想要获取函数内的值:至少两个方法fu...
分类:
Web程序 时间:
2015-06-04 17:00:44
阅读次数:
166
工作面试中我们经常会遇到这样的题目:var a = "Hello";
function b() {
alert(a);
var a = "World";
alert(a);
}
b();正确的运行结果是:undefined,world为什么是这个结果呢?首先我们要明确几点:
js作用域最外界的是window作用域,同时,js是以函数为块作用域的,每一个函数都是一个快作用域
j...
分类:
Web程序 时间:
2015-06-02 17:56:39
阅读次数:
112
一直对Js的作用域有点迷糊,今天偶然读到Javascript权威指南,立马被吸引住了,写的真不错。我看的是第六版本,相当的厚,大概1000多页,Js博大精深,要熟悉精通需要大毅力大功夫。一:函数作用域 先看一小段代码:[javascript]view plaincopyvarscope="glob....
分类:
Web程序 时间:
2015-05-28 07:05:10
阅读次数:
204
作用域 作用域(scope)是结构化编程语言中的重要概念,它决定了变量的可见范围和生命周期,正确使用作用域可以使代码更清晰、易懂。作用域可以减少命名冲突,而且是垃圾回收的基本单元。和C、C++、 Java等常见语言不同,js的作用域不是以花括号包围的块级作用域(block scope...
分类:
Web程序 时间:
2015-05-24 15:30:18
阅读次数:
135