JavaScript: The Evil Parts - 1】的更多相关文章

最近在看JavaScript框架设计,在讲解类型判定的时候提到了一些“匪夷所思的情况”,不过没有明说都是什么时候会出现这些情况.自己玩儿了一下,写写随笔吧.不过可能除了我找到的,还有会其他时候会出现这些诡异的现象2333 问题:在JavaScript中,什么时候会出现 a !== a a == b && b != a a == !a a == b && a == c && b != c a != b && a != c &&…
提炼出一门语言或技术的 Good Parts, 使用该子集去构造健壮稳固的应用. 我们总是倾向于去学习和使用所有的语言特性,好像凡是新的,凡是提供了的, 就有必要去使用: 这本书告诉我们, 要有选择性地学习和使用. 不是所有的语言特性都需要学习和使用. 学习和使用那些设计不良的特性,不仅耗费大量时间和精力,而且有损项目的可维护性,得不偿失:反之,学习那些优良的部分,不仅可以节省时间,腾出更多时间和精力去做更重要的事情,而且有助于将事情做好,提高收益/学习比. 富有技巧性的HACKER可以欣赏其精…
Chapter 1 Good Parts: JavaScript is an important language because it is the language of the web browser. The very good ideas include functions, loose typing, dynamic objects, and an expressive object literal notation. The bad ideas include a programm…
来源于:http://blog.miniasp.com/post/2016/02/02/JavaScript-novice-advice-and-learning-resources.aspx 今年有越來越多企業開始跟我們接洽企業內訓的事,想請我幫他們培訓前端工程師,但你知道一個好的前端工程師絕對不是兩三個月可以養成的,需要多年的努力與磨練才會有點成績.而這幾年可謂前端正夯,有為數不少的人開始大規模的往前端開發移動,而我被問到最多的問題就是「請問 JavaScript 要怎麼學?」或「請問 Ja…
本文同时也发表在我另一篇独立博客 <Javascript的实例化与继承:请停止使用new关键字>(管理员请注意!这两个都是我自己的原创博客!不要踢出首页!不是转载!已经误会三次了!) 标题当然是有一点耸人听闻了,但个人觉得使用new关键字确实并非是一个最佳的实践.换句话说,我觉得有更好的实践,让实例化和继承的工作在javascript更友好一些,本文所做的工作就是教你对new关联的操作进行一系列封装,甚至完全抛弃new关键字. 在阅读本文之前你必须要对javascript中关于prototyp…
这是一篇[javascript the good parts]的读书笔记. 我们知道可以利用javascript 的prototype 特性为原始类型编写拓展模块.利用如下方法: Object.prototype.method = function(name, func) { Object.prototype[name] = func } 为javascript 里的所有对象添加一个便捷的扩展方法method. 这个便捷方法省去了我们每次都手工输入Object.prototype.xxxx 现在…
      初级读物: <JavaScript高级程序设计>:一本非常完整的经典入门书籍,被誉为JavaScript圣经之一,详解的非常详细,最新版第三版已经发布了,建议购买. <JavaScript王者归来>百度的一个Web开发项目经理写的,作为初学者准备的入门级教程也不错. 中级读物: <JavaScript权威指南>:另外一本JavaScript圣经,讲解的也非常详细,属于中级读物,建议购买. <JavaScript.The.Good.Parts>:Y…
[译]JavaScript规范 译自:https://github.com/airbnb/javascript 类型 原始值: 相当于传值 string number boolean null undefined var foo = 1, bar = foo; bar = 9; console.log(foo, bar); // => 1, 9 复杂类型: 相当于传引用 object array function var foo = [1, 2], bar = foo; bar[0] = 9;…
转自:http://blog.leapoahead.com/2015/09/15/js-closure/ 我研究JavaScript闭包(closure)已经有一段时间了.我之前只是学会了如何使用它们,而没有透彻地了解它们具体是如何运作的.那么,究竟什么是闭包? Wikipedia 给出的解释并没有太大的帮助.闭包是什么时候被创建的,什么时候被销毁的?具体的实现又是怎么样的? "use strict"; var myClosure = (function outerFunction()…
本章讨论javascript的集和超集,其中子集的定义大部分处于安全考虑.只有使用这门语言的一个安全的子集编写脚本,才能让代码执行的更安全.更稳定.ECMScript3标准是1999年版本的,10年后,ECMAScript5规范的更新,由于ECMAScript标准规范是允许对其做任何扩充的,伴随着Mozilla项目的改进,Firefox1.0.1.5.2.3.和3.5版本中分别发布了javascript1.5.1.6.1.7.1.8.1.81版本,这些javascript的扩展版本已经融入到EC…