读 《JavaScript: The Good Parts》 有感
提炼出一门语言或技术的 Good Parts, 使用该子集去构造健壮稳固的应用。
我们总是倾向于去学习和使用所有的语言特性,好像凡是新的,凡是提供了的, 就有必要去使用; 这本书告诉我们, 要有选择性地学习和使用。
不是所有的语言特性都需要学习和使用。 学习和使用那些设计不良的特性,不仅耗费大量时间和精力,而且有损项目的可维护性,得不偿失;反之,学习那些优良的部分,不仅可以节省时间,腾出更多时间和精力去做更重要的事情,而且有助于将事情做好,提高收益/学习比。
富有技巧性的HACKER可以欣赏其精巧的构思和利用漏洞的能力,但不适宜用在实际开发中。
Javascript 的优良子集:
1. 简单松散的类型系统,主要是 布尔、字符串和数值 三种类型;
2. 函数是Javascript 的枢纽对象, 函数型编程范式;
3. 基于原型继承的动态对象机制;
4. 容易创建和操作对象和数组, JSON 数据交换格式, 便于使用;
引申一下, 同样可以定义自己的开发子集, 依靠这些元素实现高效可靠的开发活动。可参考博文《软件开发之技能梳理》 :)
读 《JavaScript: The Good Parts》 有感的更多相关文章
- 读javascript高级程序设计00-目录
javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流 ...
- 读javascript高级程序设计-目录
javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流 ...
- JavaScript: The Evil Parts - 1
最近在看JavaScript框架设计,在讲解类型判定的时候提到了一些“匪夷所思的情况”,不过没有明说都是什么时候会出现这些情况.自己玩儿了一下,写写随笔吧.不过可能除了我找到的,还有会其他时候会出现这 ...
- 读javascript高级程序设计17-在线检测,cookie,子cookie
一.在线状态检测 开发离线应用时,往往在离线状态时把数据存在本地,而在联机状态时再把数据发送到服务器.html5提供了检测在线状态的方法:navigator.onLine和online/offline ...
- JavaScript: The Good Parts
Chapter 1 Good Parts: JavaScript is an important language because it is the language of the web brow ...
- 读javascript高级程序设计01-基本概念、数据类型、函数
一. javascript构成 1.javascript实现由三部分组成: ECMAScript:核心语言功能 DOM:文档对象模型,提供访问和操作网页内容的方法和接口 BOM:浏览器对象模型,提供与 ...
- 读javascript高级程序设计02-变量作用域
一. 延长作用域链 有些语句可以在作用域前端临时增加一个变量对象,该变量对象在代码执行完成后会被移除. ①with语句延长作用域. function buildUrl(){ var qs=" ...
- 读javascript高级程序设计08-引用类型之Global、Math、String
一.Global 所有在全局作用域定义的属性和方法,都属于Global对象. 1.URI编码: encodeURI():主要用于对整个URI编码.它不会对本身属于URI的特殊字符进行编码. encod ...
- 读javascript高级程序设计10-DOM
一.节点关系 元素的childNodes属性来表示其所有子节点,它是一个NodeList对象,会随着DOM结构的变化动态变化. hasChildNodes():是否有子节点. var headline ...
随机推荐
- js- 千分位分割
// 千分位 console.log(split3str("123456789")) function splitByReg3(str) { var re = /(\d{1,3}) ...
- SaltStack 入门(赵班长)
SaltStack 入门之赵班长 赵班长博客: https://www.unixhot.com/article/11 1~5章 saltstack官网文档: https://www.unixhot ...
- linux chmod命令(转)
chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. Linux系统中的每 ...
- django工作原理
- SQLSERVER 数据库查看各表的记录数
select a.name as 表名,max(b.rows) as 记录条数 from sysobjects a ,sysindexes b where a. ...
- Android设计模式源码解析之外观模式(Facade)
https://github.com/simple-android-framework/android_design_patterns_analysis/tree/master/facade/elsd ...
- Android --SwipeRefreshLayout 下拉刷新
1.Layout <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/id_swipe_ly" an ...
- [SharpDevelop]菜单状态更新
方式一 在Idle方法中更新 void OnApplicationIdle(object sender, EventArgs e) { // Use the Idle event to update ...
- zookeeper分布式环境的搭建
官网配置地址:http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html 安装jdk 关闭防火墙 下载zookeeper-3.3.6并解压 ...
- REST Security with JWT using Java and Spring Security
Security Security is the enemy of convenience, and vice versa. This statement is true for any system ...