0%

概述

我们先思考如下问题:

  • 为什么0.1+0.2 != 0.3?
  • 为什么会有Number.MAX_VALUE和Number.MAX_SAFE_INTEGER这两个常量同时存在?

JavaScript的数字都是number类型的,不管是整数还是浮点数都以IEEE754标准中的双精度(64位)的格式存储在计算机中的。那为了找到上述问题的答案,我们就必须先从这个规则开始。

阅读全文 »

前言

本篇开始,记录在阅读《你不知道的JavaScript-中卷》中遇到的自己遗漏的知识点,阅读章节为第一部分:类型和语法

阅读全文 »

概述

本篇接着《你不知道的JavaScript-上卷》,介绍本书的最后一部分:原型与类。

从接触JavaScript这门语言开始,相信都绕不开原型,原型链,面向对象,类等概念,我们可以先抛开这些东西,跳出来看下JavaScript的诞生过程。这个可以参考阮一峰-Javascript继承机制的设计思想 和 Javascript设计者– Brendan Eich的百科,会渐渐明白Javascript为何存在这么多的争议,为什么叫Javascript却跟Java没有一毛钱的关系,更像是C语言和Self语言一夜情的产物~~

Javascript的基本设计思路如下:

  (1)借鉴C语言的基本语法;
  (2)借鉴Java语言的数据类型和内存管理;
  (3)借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位;
  (4)借鉴Self语言,使用基于原型(prototype)的继承机制

说好听点就是集各家所长,难听点就是四不像了~;设计者也未曾料到Javascript会发展壮大到如今的地步,所谓时势造英雄。在深入了解Javascript后,应当取其精华,弃其糟泊;在《你不知道的JavaScript》中,本书作者其实是极其不推荐使用“模拟类”来设计代码。更推崇使用“行为委托”的方式设计代码。

下面,我们进入正题,再次学习下Javascript的原型与类

阅读全文 »

前言

本篇主要为阅读《你不知道的JavaScript-上卷》中遇到自己遗漏的知识点,加上一些自己的理解进行了梳理整理,阅读章节为第一部分:this和对象

阅读全文 »

前言

本篇主要为阅读《你不知道的JavaScript-上卷》中遇到自己遗漏的知识点,加上一些自己的理解进行了梳理整理,阅读章节为第一部分:作用域和闭包

阅读全文 »

概述

本篇开始,我们详细了解下Web Server(通常也代表http server),以及我们经常看到的,入nginx, tomcat, apache都是什么,都在什么场景下使用。

阅读全文 »

前言

最近在捣鼓egg 跟 koa,看到egg官网文档快速初始化是这么写的:

  $ mkdir egg-example && cd egg-example
  $ npm init egg --type=simple
  $ npm i

手动黑人问号脸…,看来npm init还有我不知道的用法, 我们来进行”刨根问底”

阅读全文 »

概述

之前我们介绍过koa了,文本了解下Egg。如官网文档所说:Egg是继承于Koa, 对于企业级应用koa还略显单薄,Egg将koa作为基础框架,在它的模型基础上做了一些增强。

阅读全文 »

概述

Nodejs天生就是异步操作,非阻塞I/O操作,使得它在服务端有着一些其他语言没有的天生优势。那么如何创建Web Server?koa2也用了两年,主要用来在服务端搭建web服务(编写spa主模板路由,api反向代理等简单功能),也未系统学习过。它跟Egg.js又各自有什么优缺点,最近正好有时间,从头细致捋一遍koa,并与egg做下对比。

阅读全文 »