一、JavaScript作用域1. 全局作用域(Global Scope) 在代码中任何地方都能访问到的对象拥有全局作用域,一般来说以下几种情形拥有全局作用域:(1)最外层函数和在最外层函数外面定义的变量拥有全局作用域,例如:var authorName="山边小溪"; function doSom...
分类:
编程语言 时间:
2015-09-19 18:06:15
阅读次数:
145
了解JS性能优化是学习前端必备的一项技能。下面就简单的列出几点:1.注意作用域,避免全局查找。访问全局变量比访问局部变量慢,是因为需要遍历作用域链,查找作用域链需要额外的时间。所以在一个函数中,将访问多次的全局对象或者域外变量存储为局部变量来使用。如某个方法需引用全局变量的值,则在该方法所在的对象的...
分类:
Web程序 时间:
2015-09-19 12:27:28
阅读次数:
152
1.with语句语法:width(object){ statement}with语句可用于临时扩展作用域链。作用域链可以按序检索的对象列表,通过它可以进行变量名解析。with将object添加到作用域链的头部,然后执行内部statement,最后把作用域链回复到原始状态。但是:with语句要尽...
分类:
编程语言 时间:
2015-09-13 19:54:50
阅读次数:
129
闭包闭包函数对象之间可以通过作用域链相互关联起来,函数体内部的变量都可以保存在函数作用域内这种特性称做“闭包”。什么是变量?变量就是为一切事物赋的一个name;var的作用,初始化变量。变量作用域程序源码中定义这个变量的区域就就是变量作用域。(名字放在什么地方了)全局变量拥有全局作用域,在js代码的...
分类:
Web程序 时间:
2015-09-10 08:24:51
阅读次数:
241
在网上无意中看到一个关于js的作用域和执行环境的面试题,以前我也没怎么总是这些东西,经过一小段时间的研究,我慢慢开始明白其中的奥妙,这对以后写程序还是大有帮助的。日志代码如下:f=function(){returntrue;};
g=function(){returnfalse;};
(function(){
if(g()&&..
分类:
Web程序 时间:
2015-09-05 17:57:23
阅读次数:
188
在javascript中函数声明会被提升,而函数表达式不会被提升。当函数执行时,会创建一个执行环境和相应的作用域链,然后利用arguments和其他的命名参数的值来初始化函数的活动对象,作用域链链中所有的外部活动对象都处于第二的位置。 function compare(num1, num2)...
分类:
编程语言 时间:
2015-09-05 00:03:14
阅读次数:
227
执行环境:执行环境定义了变量或函数有权访问的其他数据,决定了他们各自的行为,每个执行环境都有一个与之关联的 变量对象:环境中定义的所有变量和函数都保存在这个对象中。(在函数中这个变量对象叫活动对象) 作用域链:当代码在一个环境中执行时,会创建变量对象的一个作用域链,作用域链的用途是保证对执行环...
分类:
Web程序 时间:
2015-09-04 19:50:01
阅读次数:
179
基本类型和引用类型 在JavaScript中有两种数据类型值。基本类型值和引用类型值。基本类型值指的是简单的数据段,而引用类型值指的是可能由多个值构成的对象。在JavaScript中有5种基本数据类型,分别是:Undefined、Null、Boolean、Number、String(这个和其他...
分类:
编程语言 时间:
2015-08-26 15:35:13
阅读次数:
172
闭包主要涉及到js的几个其他的特性:作用域链,垃圾(内存)回收机制,函数嵌套,等等一、作用域链:函数在定义的时候创建的,用于寻找使用到的变量的值的一个索引,而他内部的规则是,把函数自身的本地变量放在最前面,把自身的父级函数中的变量放在其次,把再高一级函数中的变量放在更后面,以此类推直至全局对象为止....
分类:
Web程序 时间:
2015-08-18 01:11:08
阅读次数:
209
作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript作用域和作用域链的工作原理。今天这篇文章对JavaScript作用域和作用域链作简单的介绍,希望能帮助大家更好的学习JavaScript。JavaScript作用域 任何程序设计语言都有作用域的....
分类:
编程语言 时间:
2015-08-17 16:58:46
阅读次数:
120