有一天我被問到,為了快速地在 web 開發工作上增加優勢,我應該學習什麼語言。我的思緒回到了大學,那時我用 Pascal、Fortran、C和組合語言,不過那時候有不同的目標。
鑑於當前的狀況和趨勢,答案相對容易給出來:學習 JavaScript。四周看看,曾經低階的瀏覽器腳本語言現在變得隨處可見,從伺服器端到客戶端,每天好像有更多的選擇。
出身低微
我記得數年前投入 web 開發,學習了 HTML、用 Perl 開發 CGI 腳本。 Netscape 在 2.0 版本的瀏覽器中引進了一種稱為 LiveScript 的腳本語言,不久後名字改成了 JavaScript。這是一種很酷的語言,但是在瀏覽器大戰中,大約一年以後,由於微軟增加了支持,JavaScript 被限制在 Netscape 的瀏覽器中。它早期作用被限制在字段有效性驗證之類的簡單任務上,但是與伺服器端腳本比起來,它是非常好的選擇。 JavaScript 逐步變成了 ECMAScript 名字下的一種標準。
這麼多年來,JavaScript 因為用於瀏覽器交互而成為一種酷酷的語言,但是隨著Ajax 突然爆發,支持開發者從web 伺服器發送和接收資料、而不用刷新網頁,它贏得了更多的認可。接下來的一波應該被叫做 jQuery 革命,因為它和其它框架提供了開發強大 web 應用程式的易用功能。甚至微軟帶著 WinJS 框架也加入了;還有,Redmond 巨人選擇 JavaScript 做為開發 Windows 8 應用程式的平台。
當 Google 在 Chrome 瀏覽器加入了高效能的 JavaScript V8引擎時,JavaScript 有了一個較大飛躍。這次發展對於伺服器端 Node.js 上 JavaScript 的全新典範的發展是有幫助的。 Node.js 的使用一直都是令人震驚的,還有用於開發從網站到功能完整的應用程式的各種應用、大量 JavaScript 框架的產生。最後一項是數據,而 JSON 標準成為傳輸數據的最受歡迎的方式之一的苗頭,已初見端倪,大部分重要的數據存儲都支援它。
勢頭還在繼續
在過去的這麼多年裡,有很多新技術產生了(網站的進化提供了一個偉大的技術時間線),但是JavaScript 重要的一個方面是,它已經存在了大約兩個世紀。今天它已經穩固地成為了功能豐富的語言。
這與剛開始的情形比起來,相差甚遠,那時候 JavaScript 從來都沒有自豪地寫到簡歷裡,因為真正的程式設計師是不屑於掌握它的。而現在,JavaScript 是大部分招募人員考核的重點。
當你正在尋找web 開發的工作時,我認為 JavaScript 是可以起步的偉大語言,以下是重要原因:
進入門檻低:JavaScript 與其它語言相比,相對容易學習,你能夠在線上找到很多現成的腳本和資源。另外,JavaScript 可以被任意文字編輯器或各種免費工具創建,包括 Atom、ChromeDev Editor 和 jsFiddle。
跨平台:所有瀏覽器,還有基於 Node.js 的伺服器端,都支援 JavaScript,在大部分行動平台也正常運作。一套 JavaScript 技能可用於開發面向大部分平台的應用程式。 (注意:JavaScript 不是萬能工具。例如,像是資料分析之類的耗費資源的應用程序,最好使用另一種語言。)
已有技術:伺服器端的JavaScript 也許是個相對嶄新的概念,但是核心JavaScript語言已經存在多年了,隨著時間的增長,它已經成熟,並作為通用的web 腳本語言被廣為接受。
跳板:JavaScript 和其它平台相容較好,因此當你曾經冒險採用 Ruby on Rails、ASP.NET、PHP 等其它環境時,你的 JavaScript 技能將是必需的。你仍然需要學習 HTML 和一些 CSS,透過 JavaScript 來開發強壯的 web 應用程式。
熱門技術:語言是建立了,但是行業本身找到了帶有 JavaScript 知識和技能的語言。看看招募職位,你將看到趨勢。
不是你哥們兒的 JavaScript
我過去聽說 JavaScript 被描述成易於學習,卻難以掌握。對於許多語言,可能都是這樣,但是 web 的 JavaScript 飽和程度意味著,初學的開發者可以從其它網站快速拷貝經過檢驗的程式碼,做些必要修改就可以使用,而不需要完全理解程式碼。
如今 JavaScript 是 web 的中堅力量,因此那些想成為 web 開發者的人們,應該集中精力於它,以作為學習的第一門語言。
你同意嗎?如果你不同意,那麼你認為想找 web 開發工作的開發者應該學習的第一種語言是哪一種?在評論裡告訴我們。
譯者註:
《為什麼我不推薦 JavsScript 為首選程式語言》提供了相反的觀點。
《為什麼 JavaScript 是你要學習的下一個(或第一個)程式語言》
英文原文:Learn JavaScript if you want to land a web development job 翻譯: labazhouhou

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。

foreach不是es6的方法。foreach是es3中一个遍历数组的方法,可以调用数组的每个元素,并将元素传给回调函数进行处理,语法“array.forEach(function(当前元素,索引,数组){...})”;该方法不处理空数组。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)