# Day 01 阿嬤來嘍!教你從零學習寫程式! 嗨大家好啊,我是你的...額...誰啊?算了那個不重要 第一次見到你,感覺你/妳應該蠻帥/美的 因為你讀了我的文章!我的文章有神奇的法力, 可以讓人變帥/美! ## 前提 想必大家一定有學過 JavaScript 這個程式語言吧,畢竟這可是當程式設計師的第一步呢! JS,全名 JavaScript ,誕生於1995年,隨著網路科技的興起, JavaScript 從一個 不怎麼樣的語言變成一個你我皆知的世界通用語言,就像鹹魚翻身一樣,當然,想學會 CSS , Rails , Ruby 等語言, 就必須先跨過 JavaScript 這個基礎領域,就像你想讀國中,高中,就得先讀國小,再慢慢升級, 當然遊戲也一樣,每一個專業都是要學過基礎才能逐漸困難;若想要完全掌握 JavaScript , 認識其歷史脈絡,必然是第一步。 ## Javascript 的發展 Javascript 的命名為 Mocha ,1995年 Navigator 2.0 的 beta 版改名為 Livescript ,為了能夠順利行銷這門語言,達到熱點,1995年12月,Netscape Navigator 2.0 beta 3 中被改名為 JavaScript ,以搭上『Java』這個熱門點(應該是為了讓這個語言火一點吧,畢竟當時 Java 還是有一點小火呢!)並且號稱他是為非程式設計師打造、簡單易用的腳本語言。 ## ECMAScript 啊真正最早普及,也是 JavaScript 創作者最為熟悉的 ECMAScript 版本是1999年12月發布的 ECMA-262 第三版 ,簡稱 ES3 ,當中包含規則表示式,例外處理你可能喜歡等特性, JavaScript 的創作者為啥會如此熟悉ES3,因為 直到呢,下一個版本更新中間長達了十年之久。 但是!(西卡西!)為什麼 ES3~ES5 中間會長達十年之久?因為 Micrsoft 在瀏覽器大戰中取得勝利,缺少競爭對手,因此 Micrsoft 根本 懶惰鳥 ECMAScript 了,因為沒有競爭對手啊,這樣是要自己跟自己比嗎?那是因為後來瀏覽器普及率大大提昇, Web 應用多元化, Ajax 技術盛行,開發者 意識到 JavaScript 的重要性,在加上新一波的瀏覽器大戰正在慢慢醞釀中, ECMAScript 的規範 才慢慢有了進度。 雖然規範重新有了進度,同時也陷入了多方角力的局勢中, Macromedia 積極的想拯救 ActionScript ,但遭到 Yahoo , Micrsoft 等強烈反對。 在掙脫多方角力後,原應該是 ES4 版被否決了,然而,部份針對 ES3 的修改,原預計被發布為 ES3.1,後來在2009年底,重新命名為 ES5 。 ## ES5到ES6 ES5 釐清了 ES3 部份含糊不清(就像含滷蛋那樣含糊不清)的規範,其中一個最為重大的特性,是增加了嚴個格模式,開啟嚴格模式 後,若誤用了以前,被認為 no good 的 ECMAScript 特性,將會直譯或是以執行錯誤來停止程序。 ES5的許多特性,對撰寫程式庫的開發者幫助了不少,某些程度來說,這些也是後續ES6的基礎,是 個重要的規範版本,ES5也被現代瀏覽器作為實作,認識 ES5 ,自然就是 ECMAScript 開發者的重要課題之一。 ## 小總結 今天我們認識了什麼是 JavaScript,還有 JavaScript 的歷史,下一章我們會簡單示範一些 JavaScript 的基本操作, 敬請期待! ## 目錄 為了方便你們知道未來這 30 天上什麼,所以我就把所有課程題目搬來這裡: * Day 02 阿嬤帶你認識世界! * Day 03 阿嬤知道怎麼列算式!基礎數據來嘍! * Day 04 阿嬤的基礎語法! * Day 05 阿嬤有更多的選擇! * Day 06 阿嬤會做循環喔!(上) * Day 07 阿嬤會做循環喔!(中) * Day 08 阿嬤會做循環喔!(下) * Day 09 阿嬤的函式!(上) * Day 10 阿嬤的函式!(中) * Day 11 阿嬤的函式!(下) * Day 12 阿嬤!元宵節到嘍! * Day 13 阿嬤,真的假的阿!?(上) * Day 14 阿嬤,真的假的阿!?(中) * Day 15 阿嬤,真的假的阿!?(下) * Day 16 阿嬤的猜字遊戲!(上) * Day 17 阿嬤的猜字遊戲!(中) * Day 18 阿嬤的猜字遊戲!(下) * Day 19 DOM DOM 咚咚咚!阿嬤元素駕到! * Day 20 不只阿嬤會動!元素也會動!(上) * Day 21 不只阿嬤會動!元素也會動!(下) * Day 22 阿嬤帶你探索 HTML!(上) * Day 23 阿嬤帶你探索 HTML!(下) * Day 24 阿嬤帶你探索 CSS!(1) * Day 25 阿嬤帶你探索 CSS!(2) * Day 26 阿嬤帶你探索 CSS!(3) * Day 27 阿嬤帶你探索 CSS!(4) * Day 28 阿嬤帶你探索 CSS!(5) * Day 29 讓 CSS 更好讀!(番外篇) * Day 30 題目自己猜猜看~