对于作用域,可以分为全局作用域和局部作用域 全局作用域 全局作用域中的对象可以在代码中的任何地方访问,一般来说,下面情况的对象会在全局作用域中: 最外层函数和在最外层函数外面定义的变量 没有通过关键字"var"声明的变量 浏览器中,window对象的属性 局部作用域 局部作用域又称函数作用域,所有的 ...
分类:
编程语言 时间:
2016-09-29 17:26:28
阅读次数:
270
1.js没有块级作用域,只有函数级作用域,函数外面的变量函数里面可以找到,函数里面的变量外面找不到。 2. var t = "bb"; function test() { //执行t的时候,它会先找作用域链对象,由于它定义在函数内部,所以这个函数就是它的作用域链的第一个对象 //而在这个对象里又有t ...
分类:
Web程序 时间:
2016-09-29 02:06:58
阅读次数:
145
以前错误的认为,全局变量名、局部变量名和形参名相同时,全局变量(也就是外部变量)被形参覆盖,形参被局部变量覆盖。 今天发现这样理解并不对。比如 那事实是什么呢。实际上变量名冲突分两种,一种是函数外的变量和函数里的局部变量的冲突,一种是函数内部的冲突。 第一种冲突,我把它理解为是作用域链的上游(最上游 ...
分类:
其他好文 时间:
2016-09-27 01:46:58
阅读次数:
166
1、JavaScript的作用域链 首先看下下面这段代码: 观察alert(rain);这句代码。JavaScript首先在inner函数中查找是否定义了变量rain,如果定义了则使用inner函数中的rain变量;如果inner函数中没有定义rain变量,JavaScript则会继续在rainma ...
分类:
编程语言 时间:
2016-09-26 13:10:50
阅读次数:
156
"top.location.href"是最外层的页面跳转"window.location.href"、"location.href"是本页面跳转"parent.location.href"是上一层页面跳转. location是window对象的属性,而所有的网页下的对象都是属于window作用域链中 ...
通过阅读《JS高级程序设计》这本书,对js中的作用域和作用域链知识有了初步的了解和认识,准备成笔记供大家参考,笔记中字数比较多,但个人认为叙述的挺详细的,所以希望读者耐心看。再者,本人了解的比较基础,不足的地方希望大家一起交流,共同学习。 1.执行环境(execution context) 执行环境 ...
分类:
编程语言 时间:
2016-09-10 11:46:19
阅读次数:
209
0.前言前两天,现有朋友问我,他现在看闭包,根本不明白闭包到底是怎么回事,完全不理解,这是为什么?出于对这个问题的考量,自己回去查阅了大量的资料,通过整理和自己添加内容,于是就有了这篇文章。本文适合人...
分类:
其他好文 时间:
2016-09-08 16:24:20
阅读次数:
143
一、变量的作用域 1、JavaScript的作用域链 首先看下下面这段代码: 观察alert(rain);这句代码。JavaScript首先在inner函数中查找是否定义了变量rain,如果定义了则使用inner函数中的rain变量;如果inner函数中没有定义rain变量,JavaScript则会 ...
分类:
Web程序 时间:
2016-09-07 09:16:50
阅读次数:
203
在javascript学习中作用域和作用域链还是相对难理解些,下面我关于javascript作用域和作用域链做一下详细介绍,给各位初学者答疑解惑。 首先我们介绍一下什么是作用域? 从字面上理解就是起作用的区域。 作用域主要有两种作用域: 1、块级作用域(js 不支持):主要用于C系列语言中,例如:J ...
分类:
编程语言 时间:
2016-09-06 22:58:58
阅读次数:
147