[TOC]
# **JavaScript 就要統治世界了?**

> " JavaScript 可以……"
> "嘛,不就是操作一下 DOM,可以讓元素飛來飛去嗎"
> "JavaScript 是……"
> "不就是用 jQuery 讓網頁動起來,頂多就是再用用 Ajax 和后端進行一下數據交換嗎"
> "JavaScript 是一門……"
> "最討厭和鄙視這種弱類型不需要編譯的腳本語言了,你說 OOP? 扯淡的吧,JS 有對象嗎"
> "……"
### 0x00. 前言
早上起床慣例刷刷微博,突然看到 React Native 宣布支持 Android 的消息,一時感覺 Facebook 太給力了,不僅沒有推遲發布 React Native For Android 而且還比之前公告的時間提前了一些。立馬下床打開電腦趕緊上官網,心想著用 JS 寫原生安卓的日子終于要來了。樂樂呵呵地打開文檔,然后瞬間就傻眼了。好吧,盡欺負我們這些買不起 Mac 的窮學生。

雖然暫且還是用不了 React Native,但是突然就感覺到了 JS 的強大,細細一想,還真是暗暗作喜,這么惡劣的語言也居然能做出這么多有趣的事情,也真是苦了那些 JS 工程師啊。于是有了這篇稍稍對 JavaScript 暢想的文章。
### 0x01. 瀏覽器中的 JavaScript
曾經很單純地認為能夠熟練地使用 jQuery/JavaScript 操作 DOM,能夠將一些高復用的組件注冊為插件就是掌握 JS 的標志。然而隨著自己接觸更多的人,接觸更多的技術才發現自己的無知和渺小,瀏覽器其實只是 JavaScript 的一個宿主環境,提供 JavaScript 引擎來解釋 JavaScript,瀏覽器環境下的 JavaScript 和 JavaScript 本身還是有很大區別的,**瀏覽器下的 JavaScript 在 JavaScript 整個體系中其實也只是小(但很重要)的一部分而已**。

### 0x02. JavaScript 能做什么
1. Web 前端
很早以前各大公司對于 Web 標準的惡戰讓 JS 的環境異常惡劣,加之語言其本身的不成熟讓其功能僅限于一些簡單的前端交互。Ajax 技術的出現讓前端可以在不刷新頁面的情況下和后端進行數據交換,jQuery/zepto 等庫的盛行讓 JS 變得異常簡單,Bootstrap/Amaze UI 等 UI 框架更是讓前端的成本無限降低,RequireJS/SeaJs 讓 JavaScript 也可以進行依賴管理,MVVM(Model-View-ViewModel 的出現讓前后端的分離做到了極致,JavaScript 在前端領域前景明朗。

Ajax:[掌握 Ajax - IBMdeveloperWorks](http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro1.html)
庫:jQuery/zepto
UI 框架:Bootstrap/AmazeUI
依賴管理:RequireJS/SeaJs
MVVM:AngularJS/Avalon
> http://www.admin10000.com/document/7050.html
- 步入JavaScript的世界
- 二進制運算
- JavaScript 的版本是怎么回事?
- JavaScript和DOM的產生與發展
- DOM事件處理
- js的并行加載與順序執行
- 正則表達式
- 當遇上this時
- Javascript中apply、call、bind
- JavaScript的編譯過程與運行機制
- 執行上下文(Execution Context)
- javascript 作用域
- 分組中的函數表達式
- JS之constructor屬性
- Javascript 按位取反運算符 (~)
- EvenLoop 事件循環
- 異步編程
- JavaScript的九個思維導圖
- JavaScript奇淫技巧
- JavaScript:shim和polyfill
- ===值得關注的庫===
- ==文章==
- JavaScript框架
- Angular 1.x
- 啟動引導過程
- $scope作用域
- $q與promise
- ngRoute 和 ui-router
- 雙向數據綁定
- 規范和性能優化
- 自定義指令
- Angular 事件
- lodash
- Test