摘要: 作用域定义了在当前上下文中能够被访问到的成员,在Javascript中分为全局作用域和函数作用域,通过函数嵌套可以实现嵌套作用域。闭包一般发生在嵌套作用域中。闭包是JavaScript最强大的特性之一,很多高级应用都要依靠闭包实现。如OO的私有成员和模块化等。然而闭包虽然强大,但一般比较占用内存另外如果使用不当还会引起内存泄露,对闭包有了解的jser一般都知道闭包的这些个问题,本文先阐述了闭包和作用域链的关系,然后分析了产生这些个问题的原因。下面是一段闭包的示例代码: var name = "windows's name"; var object = { name. 阅读全文
posted @ 2012-10-09 00:34 培哥 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。下面就是我的学习笔记,对于Javascript初学者应该是很有用的。一、变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 var n=999; function f1() { alert(n); } f1(); // 999 另一方面,在函数外部自然无法读取函数内的局部变量。 functi... 阅读全文
posted @ 2012-10-09 00:29 培哥 阅读(98) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/Latitude/archive/2012/04/21/2461526.html 阅读全文
posted @ 2012-10-08 18:04 培哥 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 对于初学者来说,理解Javascript闭包(closure)还是比较困难的,而撰写此文的目的就是用最通俗的文字揭开Javascript闭包的真实面目,让初学者理解起来更加容易一些。一、什么是闭包?“官方”的解释是:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。相信很少有人能直接看懂这句话,因为他描述的太学术。其实这句话通俗的来说就是:JavaScript中所有的function都是一个闭包。不过一般来说,嵌套的function所产生的闭包更为强大,也是大部分时候我们所谓的“闭包”。看下面这段代码:function a() { ... 阅读全文
posted @ 2012-10-08 17:32 培哥 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 一位程序员根据“X for Y developers”的Google搜索结果,分析哪些语言对另一种语言程序员吸引力大。结果最流行的叛逃路线有:从Perl到Python,从Cobol到Java,从Java到C# 或Ruby、C++。你是啥路线?原文链接:http://www.linuxeden.com/html/news/20120906/129558.html 阅读全文
posted @ 2012-10-08 17:08 培哥 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 前言:还是一篇入门文章。Javascript中有几个非常重要的语言特性——对象、原型继承、闭包。其中闭包对于那些使用传统静态语言C/C++的程序员来说是一个新的语言特性。本文将以例子入手来介绍Javascript闭包的语言特性,并结合一点ECMAScript语言规范来使读者可以更深入的理解闭包。注:本文是入门文章,例子素材整理于网络,如果你是高手,欢迎针对文章提出技术性建议和意见。本文讨论的是Javascript,不想做语言对比,如果您对Javascript天生不适,请自行绕道。什么是闭包闭包是什么?闭包是Closure,这是静态语言所不具有的一个新特性。但是闭包也不是什么复杂到不可理解的东西 阅读全文
posted @ 2012-10-08 16:25 培哥 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 导读:陈皓曾发表过一篇文章《Javascript 面向对象编程》,珠玉在前,作者还是忍不住再画蛇添足的补上一篇文章,主要是因为JavaScript这门语言魅力。另外这篇文章是一篇入门文章,是作者才开始学习Javascript,有一点心得,才想写一篇这样文章,文章中难免有错误的地方,还请各位不吝吐槽指正。吐槽Javascript初次接触Javascript,这门语言的确会让很多正规军感到诸多的不适,这种不适来自于Javascript的语法的简练和不严谨,这种不适也来自Javascript这个悲催的名称,我在想网景公司的Javascript设计者在给他起名称那天一定是脑壳进水了,让Javascri 阅读全文
posted @ 2012-10-08 15:54 培哥 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 导读:经常看到一些JavaScript的代码脏乱得无法理解,到处都是属性和方法,或者一个循环套着一个循环。但如果使用面向对象就能很好的理清代码,并方便理解和修改代码。如果你不希望自己的代码只有上帝理解的话,就请尽量考虑使用面向对象的模式。译文正文:到处都是属性、方法,代码极其难懂,天哪,我的程序员,你究竟在做什么?仔细看看这篇指南,让我们一起写出优雅的面向对象的JavaScript代码吧!作为一个开发者,能否写出优雅的代码对于你的职业生涯至关重要。随着像Node.js这类技术的发展,你甚至可以在服务器端使用JavaScript了。同样的,你也可以使用JavaScript来控制MongoDB的持 阅读全文
posted @ 2012-10-08 11:45 培哥 阅读(124) 评论(0) 推荐(0) 编辑