最近在研究Js,发现自己对作用域,作用域链,活动对象这几个概念,理解得不是很清楚,所以拜读了@田小计划大神的博客与其他文章,受益匪浅,写这篇随笔算是自己的读书笔记吧~。 作用域 首先明确一个概念,js只有函数作用域(function-based),没有块级作用域,也就是只有函数会有自己的作用域,其他 ...
分类:
Web程序 时间:
2016-11-11 19:33:46
阅读次数:
257
eg:链式作用域,想在外部读取blogName的值得方法 <script>var authorName="山边小溪";function doSomething(){ var blogName="梦想天空"; function innerSay(){ console.log(blogName+"1") ...
分类:
Web程序 时间:
2016-11-11 14:20:27
阅读次数:
208
在学习闭包之前我们很有必要先了解什么是作用域链 一、作用域链 作用域链是保证对执行环境有权访问的所有变量和函数的有序访问。 这句话其实还是蛮抽象的,但是通过下面一个例子,我们就能清楚的了解到作用域链了。 以上代码涉及了3个执行环境:全局环境、changeColor()局部环境和swapColor() ...
分类:
Web程序 时间:
2016-11-04 20:59:00
阅读次数:
230
原文链接:https://my.oschina.net/u/2331760/blog/468672?p={{currentPage+1}} 函数基本概念: 函数声明:function box(){} 函数表达式:var box = function(){}; 匿名函数:function(){} 属于 ...
分类:
其他好文 时间:
2016-10-31 21:26:17
阅读次数:
145
this的使用: 这段代码是错误的 首先要说一下JavaScript中的作用域链和原型链 作用域是针对变量的,假设我们创建了一个函数,函数里面又包含了一个函数,那么现在就有三个作用域即:全局作用域,函数1作用域,函数2作用域 在代码执行时,若在现行函数作用域中没有找到相关变量,就向上一层找,直到找到 ...
分类:
编程语言 时间:
2016-10-31 20:59:05
阅读次数:
189
深入理解javascript中执行环境(作用域)与作用域链 相信很多初学者对与javascript中的执行环境与作用域链不能很好的理解,这里,我会按照自己的理解同大家一起分享。 一般情况下,我们把执行环境分为全局执行环境和局部执行环境,其中局部执行环境我们又可以称之为函数执行环境。那么究竟什么使执行 ...
分类:
编程语言 时间:
2016-10-30 16:37:08
阅读次数:
139
1 变量作用域和作用域链
作用域:指的是变量和函数的访问范围,也就是说作用域控制着变量的可见性和生命周期,包括局部作用那个与和全局作用域;
局部作用域:指的是一般只在固定代码片内可以访问的作用域,...
分类:
编程语言 时间:
2016-10-24 21:06:31
阅读次数:
269
1.JS无块级作用域 2.JS采用函数作为作用域链 3.JS的作用域链在创建前已经生成了 示例一: 示例二: 示例三: 闭包:如果每个下载的JS都有自定义的全局变量,那么在导入的时候就会发生相互覆盖的现象,通过闭包可以将变量锁定在函数内。 面向对象JS ...
分类:
Web程序 时间:
2016-10-20 07:34:58
阅读次数:
154
闭包应用的循环中:能存储异步的每次数据。 上面的例子 例一返回每次存储的值;而例二则都是返回10; 闭包的作用域链都是‘活动的’,嵌套的函数不会将作用域内的私有成员复制一份;也不会对绑定的变量生成静态快照。 第二点: this是关键字,(每个函数调用都包含一个this值)。闭包在外部函数里是无法访问 ...
分类:
其他好文 时间:
2016-10-17 13:26:27
阅读次数:
161
Function: 匿名函数,作用域,作用域链和闭包 函数的重载: 什么是:函数名相同,参数列表不同.根据传入函数的参数的不同,整形不同的逻辑. 何时用:如果一项任务,根据不同的参数,不执行不用的逻辑. 优点:减轻调用者的负担. 问题:js语法不知函数的重载. 解决办法:在函数中都有argument ...
分类:
其他好文 时间:
2016-10-16 13:58:42
阅读次数:
484