阅读大块头《javascript 权威指南》笔记 3-类型、值和变量

  • 数据类型分为两类:原始类型(包括数字、字符串和布尔值)和对象类型。
  • 原始值中有 2 个特殊的原始值:null 和 undefined,它们不是数字、字符串和布尔值(咦,上面不是说原始类型只有 3 个吗?)。
  • 如果函数用来初始化(使用 new 运算符)一个新的对象,这个称之为构造函数(constructor)
  • 有自己的内存管理机制,能够自动进行垃圾回收,意味着程序员不必担心对象的销毁和回收。
  • javascript 是一种面向对象的语言。
  • 可以自由进行数据类型转换,例如在使用字符串的地方使用了数字,javascript 会自动将数字转换为字符串。
  • 变量是无类型的,变量可以被赋予任何类型的值。
  • 不区分整数值和浮点数,所有的数字均用浮点数值表示。

阅读大块头《javascript 权威指南》笔记 1-javascript 概述

  • javascript 是史上使用最广泛的编程语言,不管是桌面系统、平板电脑、智能手机的浏览器均包含有 javascript 解释器。
  • 前端工程师必须掌握的三项技能之一中行为,指的就是 javascript。
  • 语法源自 java,它的一等函数来自 Scheme,基于原型的继承来自 Self,不过我一点都不知道后面两个是什么东西,但使用 javascript 不必去了解(java/scheme/self)语言或者熟悉那些术语。
  • ECMAScript 协会制定 javascript 的版本规范。
  • 核心功能针对文本、数组、日期和正则表达式的操作定义了很少的 API,其他功能 API 的实现由宿主环境提供(比如浏览器),这部分也叫做“客户端 javascript”,例如 console.log 和 canvas 的操作就是由浏览器提供的 api,javascript 本身并没有这些 api。
  • javascript 是一门面向对象语言,但和传统的面向对象又有很大的区别。

async-学习笔记(coffeescript版)

概述

  • async 一个用于解决callback hell(回调嵌套)的类库。
  • 类似的库挺多,例如angularjs中的Q.js,但目前async关注率较高,这一次我就随(ying)大(yu)众(lan)吧!:D
  • async主要实现了三个部分的流程控制功能
    • 集合  :Collections
    • 流程控制:Control Flow
    • 工具类 :Utils
  • 上一条具体介绍可以查看 粉丝日志 内的文章,中文注释写很详细。

更多

前后端coffeescript解析效率测试

概述

  • 觉得总是引用编译后的coffeescript很麻烦,而且文件有些累赘。
  • 所以打算直接引用coffeescript试试。
  • 这是一个简单的测试,目的是衡量选择效率还是选择时间。

测试代码(节选)

前端

1
2
for (var i = 0; i <= 10000000; i++) {}
document.write('前端javascript运行时间:' + (Date.now() - window.timestamp) + '毫秒');
1
2
3
4
i = 0
while i <= 10000000
i++
document.write "前端coffeescript运行时间:#{(Date.now() - window.timestamp)}毫秒"

更多