Loading…

「谈谈」:(0,eval)与eval

Background: 近来,随着以Angular为首的诸如Ember.js、knockout.js等框架的大热,WEB的前端开发开始进入了MVVM框架大行其道的时代。老实说,前端技术的迭代实在太快,哪怕是作为一个刚投入浪潮的新生力量我都感觉有些趟不牢,无奈之下开始学习以"关注数据而不是关注DOM"为目标的开发模式,但近一年JavaScript的一些长进又让我不仅仅满足于只是学习框架应用,然而恰逢其时,司徒正美发布了他的mini MVVM框架——avalon.js,并且在github上开源,同时他又出版了耗费其无数心血、历时三年的新书《JavaScript框架开发》,在两相搭配之下,想来avalon则是最好切入点和学习资料了。 在源码的伊始,我便发现一个司徒称之为黑魔法的技巧,后来又偶然在贴吧上议起,因此有了题首的这个问题 (0,eval) && eval in JavaScript 以上为零星的吐槽和抱怨,顺便做一个没什么关系的展开....orz,以下言归正传 正文 众所周知,JavaScript是一门和大部分脚本语言类似、没有访问器修饰符的语言(最近的新贵swift也是如此,但丫可是强类型的静态语言....)。因此,除了闭包内维持的变量,大部分的元素几乎全局可见,然而,…

「谈谈」:闭包与Lambda

论起闭包,我想互联网上关于这个知识的具体分析着实是铢积锱累有着相当数量的文章。无他,[ 闭包 ]这个概念对于JavaScript这门语言来说实在是太过于重要,以至于重复说一百遍都不为过,第一篇「谈谈」,我也不免俗的来谈谈闭包。 关于闭包 首先官方ECMA-262给出的定义如下 A closure is a combination of a code block and data of a context in which this code block is created. 然后是MDN Mozilla Closures are functions that refer to independent (free) variables. In other words, the function defined in…