Loading…

「谈谈」:论var的重要性—— Dom Leak Profiling

最近公司里那个娘炮各种找麻烦,心烦心躁,只能在这里写写东西发泄一下了。 楔子 Once upon a time,在我年幼、无知沉迷于拖VB控件不能自拔的那个岁月,其实想想那会儿似乎是我第一次接触JavaScript这门语言。老实说,当初对这门语言实际上多有厌烦。和大多数人一样,彼时深受于各种浏览器弹窗的困扰(现在都升级成点击挟持了)。但由于参加学校某个比赛项目的缘故,需要在网页上增加一些“动态”元素,那么首当其冲的就是增加一个轮播效果图。 请原谅我年幼时的无知,那时候只会ASP和VB6,因此不得不在百度中摸爬滚打般的学习JavaScript,而在我轮番的搜索中,其中有这样一段话,对于如今的我仍然记忆犹新: JavaScript是一门弱类型语言,而且用不用var都能声明变量。 当然,随着08年以后Web端的飞速发展,时至今日,大家都知道这段阐述的前半句言之凿凿,可后半句却大错特错。如今,无论新手老鸟都知道var的一个关键特性:不以var修饰的变量声明会自动在global对象中注册,由此导致全局变量污染。 但全局变量污染并不是唯一的影响,而另一个可能造成的问题则是——Dom Leak,Dom碎片引起的内存泄露。 Dom Leak BE在最早设计JS的时候就是为了简便html文档流的操作,也因此开发了dom接口。而随着近来Mv*框架的大行其道,人们开始越来越多的把传统B/…

「谈谈」:(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…

开卷有益

算是终于在互联网上又开辟了一片土地,总要写点什么以示开篇。 掐指一算,不曾想毕业也有一年了,年幼时不懂长辈的辛劳,总念想着每日读书大抵是生命中最累的一件事。然而,白驹过隙间时光便从指尖流过,闪烁着折跃去了远方,不得不先说声再见,然后踏入征途。经历过战斗,才懂得安宁,回首之后终于猛然发现那些悠然读书的日子仿若天堂般舒适,其中又以大学为甚。 岁月易老,当真是,且行且珍惜。 生活总是这样,逼你要强,否则就离我们梦寐以求的阳光越发的远。当初在校时,总觉得自己还算优秀,但却在离毕业之际才越来越清晰的认识到,距离优秀两字,究竟距离是有多么大。愈往深处学,愈没有底气,仿佛之前五年学得都是些盲人摸字的技巧,程序背后屹立的殿堂,我从没睁开眼看过。 知识即是一个圆,学得越多才越觉得自己无知 忘记了从哪篇文章中看到这句话,如今,感同身受。 这一年时间里,看了很多,学了很多,累了很多,但也收获很多,我感谢知乎,在我迷惑困罔之际使我看清了目标,让我坚定的踏出了步伐。也感谢那些前辈不求回报的指点诸如我一样的后学,鼓励着我们,说不定假以时日,我们也会披荆斩棘,来到他们的身边,然后拿起剑,…