很長時間以來,JavaScript在我眼里都是編程語言中的二等公民。早先,它經(jīng)常是很多安全問題的發(fā)源地,就像是膠水一樣,它能把HTML應用與樣式粘到一塊,可沒有人拿它來正正規(guī)規(guī)地編寫程序;這樣的情形太普遍了。而Java、Ruby、Python,這些才是真正能用來編寫程序的語言。
成都創(chuàng)新互聯(lián)公司成都企業(yè)網(wǎng)站建設服務,提供成都做網(wǎng)站、成都網(wǎng)站制作網(wǎng)站開發(fā),網(wǎng)站定制,建網(wǎng)站,網(wǎng)站搭建,網(wǎng)站設計,成都響應式網(wǎng)站建設公司,網(wǎng)頁設計師打造企業(yè)風格網(wǎng)站,提供周到的售前咨詢和貼心的售后服務。歡迎咨詢做網(wǎng)站需要多少錢:13518219792
過去幾年間,我對JavaScript的態(tài)度有了徹底的改變。JavaScript已經(jīng)“長大成人”了。我敢保證很多JavaScript開發(fā)人員都不會認同我前面的說法,他們會說JavaScript一直都是一個十分強大、成熟,深得人心的語言?;蛟S他們說得沒錯,事實上只要是一門完整的編程語言,就能拿來編寫程序,也包括BASIC這種濫東西。而一門語言真正有用,必須一方面自身具備很強的表達能力,另一方面還要有眾多的庫和開發(fā)工具。顯然,JavaScript的表達能力早就沒有問題了,即便是創(chuàng)建對象的方式有點不好讓人接受,其實問題也不大。直到最近,一些極其重要的扭轉局面的技術出現(xiàn)了:jQuery、JSON、Node.js和HTML5?;蛟SJavaScript以前就是一門完善的語言了,但卻是這些重要的相關技術(以及其他一些沒有在這里提及的),讓JavaScript成為了每一個開發(fā)人員都知道的語言。如果明年你要學一門新語言的話,那一定就是JavaScript。
潛力無限的Node.js
說Node.js潛力無限的意思,就是它有可能引發(fā)Web開發(fā)的革命。Node.js是一個框架,用于構建高性能Web應用——即使是巨量的請求也能夠迅速而有效地響應。雖然Node本身作為一個底層框架,能夠用于構建任何應用,但它還是最適合構建Web服務器。它的異步事件驅動模式與傳統(tǒng)的請求-響應模式相比,無疑更適合Web應用。
有兩方面因素更讓Node顯得前途無量。首先,Google在提升JavaScript性能方面掀起了一場革命。這句話的意思并不是說你隨時隨地都可以用上最好的JavaScript引擎(盡管這也是我們一個美好的期望)。但可以肯定的是,Google在其他競爭對手還沒有上心的情況下,真的把JavaScript性能當成了一回事兒。如此一來,就把Mozilla、Apple、Microsoft、Opera,還有其他瀏覽器開發(fā)商逼到了性能競賽的跑道上。結果導致我們現(xiàn)在使用的JavaScript引擎較之幾年前快了不知道有多少倍,完全有能力運行復雜的大型Web應用。
其次,Node有著龐大的開發(fā)人員基礎。不管大家在服務器端使用的是什么語言,但在客戶端卻鮮有不使用JavaScript的。有的人可能是“剪刀加漿糊”式的東拼西湊,有的人則可能用JavaScript做出了高超的Ajax應用,而有的人甚至實現(xiàn)了全功能的應用程序,像Twitter或 Gmail??刹还茉趺凑f,JavaScript開發(fā)人員的數(shù)量無疑是非常龐大的。而Doug Crockford等作者更是極力宣傳所有人都應該把JavaScript當成一門嚴肅正經(jīng)的編程語言來看待——盡管它還有不少缺點。
當時當下,編寫Node應用相對還是個“粗”活兒,畢竟它只是一個底層庫。想象一下單純使用JavaScript寫代碼,對,就是這種感覺,Node當前還是一個beta版的格局,與Rails或Django這樣成熟的Web開發(fā)框架還沒法比。這種狀況無疑會改變。一些輕量級的框架,比如Express,已經(jīng)出現(xiàn)了;我堅信更多基于Node的全功能框架也將不斷涌現(xiàn)。
前面提到過一些幾乎完全在瀏覽器中運行的高級Web應用。那些都已經(jīng)不算什么新鮮事兒了,Gmail多大了?Google Maps貴庚了?不過,用JavaScript編寫在瀏覽器中運行的應用的客戶端無疑是越來越有吸引力了。HTML5則繼續(xù)推高了人們對這一趨勢的預期。
HTML5其實就是JavaScript
我不知道已經(jīng)說過多少次了,HTML5實際上并沒有多少與HTML有關,它其實就是JavaScript。HTML本身有什么變化?不過一些新標簽而已,況且也都很好理解。HTML5的威力在于讓你能用JavaScript來創(chuàng)建這些標簽。假如沒有后臺代碼通過Canvas來創(chuàng)建動畫、游戲,或者通過它來實現(xiàn)一些數(shù)據(jù)的可視化,這個標簽也沒有大用處。從瀏覽器開始支持Canvas開始,我已經(jīng)看到了Asteroids(行星游戲)的上百個實現(xiàn),那都是開發(fā)人員為熟悉這個新特性所做的練習。有的比較粗糙一些,而有的則極其精美。這些完全都要歸功于JavaScript。
由此可見,HTML5并不是在以尖括號為特征的標簽語言的一次大的改進,其實質是賦予了JavaScript更強大的能力。WebGL庫(當前還羽翼未豐)支持在HTML5的畫布中繪制實時的3D圖形。HTML5的地理位置支持在瀏覽器中實現(xiàn)LBS(Location Based Service)應用——手機的基本配置。而持久存儲以及離線功能則為開發(fā)能與桌面應用媲美,但卻在瀏覽器中運行的全功能應用奠定了基礎。目前,就連增加多點觸摸事件的實驗性的庫也已經(jīng)出現(xiàn)了。凡此種種,無一不是實實在在的JavaScript特性。HTML5只是為這些高級功能的發(fā)揮提供了舞臺。
退一步講,不依賴于HTML5的瀏覽器庫開發(fā)庫也取得了長足的進步。長久以來,JavaScript一直都是在HTML中實現(xiàn)動態(tài)效果的不二之選??蓛蓚€問題遲遲得不到解決:一是瀏覽器兼容性問題,二是直接操作DOM太麻煩。jQuery讓這兩個問題霎那間消失得無影無蹤,這個庫已經(jīng)成為現(xiàn)代基于瀏覽器的客戶端開發(fā)的基本配置。不過,并非只有jQuery。Protovis、D3,都可以讓你直接在瀏覽器中創(chuàng)建復雜的交互性數(shù)據(jù)可視化效果,有史以來第一次讓瀏覽器成為了展示數(shù)據(jù)的一個重要工具。
JavaScript與數(shù)據(jù)庫,編譯器與語言
就連數(shù)據(jù)庫里都開始廣泛使用JavaScript了!當前如火如荼的NoSQL運行的三只領頭羊:CouchDB、MongoDB和Riak,都是“文檔數(shù)據(jù)庫”。它們保存的不是表,而是文檔。這幾個數(shù)據(jù)庫所謂的“文檔”,其實就是JSON文檔,而不是Word或Excel。(Riak除了JSON文檔,還支持XML和純文本。)JSON已經(jīng)成為一種被廣泛采用的數(shù)據(jù)交換格式(所有現(xiàn)代的編程語言幾乎全都有解析JSON的庫),不過請注意,JSON實際上不就是一種序列化JavaScript對象的格式嘛!因此,雖然你可以在任何語言中使用JSON,但在JavaScript開發(fā)中使用它則是再自然不過的事了。況且,JSON這個格式成為一種跨語言的標準,而不是Python、Ruby或Java等語言的序列化格式,這個事實本身足以說明JavaScript將在更加廣闊的舞臺上大顯身手。還不僅僅如此,上述三個數(shù)據(jù)庫都內置了支持JavaScript查詢的能力。未來幾年,更多的人都將會驚訝地發(fā)現(xiàn),JavaScript和JSON已經(jīng)內置到了其他應用程序里啦!
現(xiàn)在很多小伙伴喜歡在互聯(lián)網(wǎng)上找視頻資料學習javascript,但是光看視頻你是不可能學會javascript的,沒有人指導你,而且很多視頻已經(jīng)過時了?并沒有什么用!??如果你真的想學習javascript這門技術,你可以來這個群,前面是5柒3,中間是82〇,最后是49〇,?在這里有最新的javascript課程?免費學習?也有很多人指導你?進步?不需要你付出什么?只要你有一顆學習的心就可以了?不是愿意學習或者自認不需要學習的就不要加了。
JavaScript時代的序幕才剛剛拉開。在今年的JSConf上,一個核心主題就是“JavaScript到JavaScript的編譯器”,也被人們看成是未來的一個主要趨勢。Google在“編譯生成JavaScript代碼”方面是首開先河者。據(jù)我所知,GWT(Google Web Toolkit)應該是通過編譯(從Java代碼)生成JavaScript代碼的第一個框架。以前我對GWT并沒有太重視,只是覺得它是一個致力于拯救那些Java程序員的框架,好讓他們不必因為(學習)編寫JavaScript而浪費時間。可是,GWT在編譯過程中對JavaScript做了那么多的優(yōu)化,簡直是太神了。Closure就是一個“JavaScript到JavaScript的編譯器”,能夠實現(xiàn)同樣級別的優(yōu)化。Traceur,這是幾個星期前才冒出來的一個框架,通過它能夠試驗JavaScript的新特性,換句話說,它可以把帶有實驗性語言特性的JavaScript代碼編譯成可以在所有現(xiàn)代平臺中運行的JavaScript代碼。
最后,我們也開始看到了當初Java大旗下JVM語言的蓬勃景象:各種語言都在致力于編譯成JavaScript!其中有一些語言比較有意思,像Coffeescript和Kaffeine,它們在風格上酷似JavaScript,但更關注彌補JavaScript的一些不夠完善的地方。是不是覺得JavaScript的對象模型特有意思,可怎么看怎么有點笨笨滴,有木有?是不是一想到基于原型創(chuàng)建一個實際的對象都需要反反復復地定義這定義那,就望而卻步了?Coffeescript對此作了明顯的改進。除了完善對象模型,Coffeescript還添加了類似列表解析(comprehensions)的新特性,去掉了大部分花括號。就像在Python中一樣,要使用縮進來區(qū)分代碼塊。
未來的Web服務器、取之不盡的客戶端庫、HTML5、數(shù)據(jù)庫,乃至基于JavaScript的語言——我一睜眼就能看到JavaScript!假如你曾經(jīng)對JavaScript敬而遠之,今年就該學習它了。沒有理由,真的,再不學,恐怕你再也沒機會趕超別人了!
這個是為了某些不兼容javascript或者被用戶有意禁用了js腳本的瀏覽器準備的。對于這些瀏覽器來說,可能會將不支持的腳本作為內容顯示在頁面上。所以就要把它們注釋起來,避免被當成內容顯示出來
《JavaScript函數(shù)式編程思想潘俊》百度網(wǎng)盤pdf最新全集下載:
鏈接:
?pwd=hf3c 提取碼: hf3c
簡介:JavaScript函數(shù)式編程思想主要介紹了函數(shù)式編程的基礎理論、核心技術、典型特征和應用領域,以及它與面向對象編程的比較。本書既廣泛介紹函數(shù)式編程的思想,也結JavaScript的特點分析其應用和局限,注重從本質和內在邏輯的角度解釋各個主題,并輔以相關的代碼演示。對于函數(shù)式編程涉及的JavaScript語言本身的特性,以及與面向對象編程的比較,在書中也給予了重點討論。 ?
《JavaScript編程全解》([日]井上誠一郎)電子書網(wǎng)盤下載免費在線閱讀
資源鏈接:
鏈接:
提取碼: 49dv
書名:JavaScript編程全解
作者:[日]井上誠一郎
譯者:陳筱煙
豆瓣評分:8.6
出版社:人民郵電出版社
出版年份:2013-12
頁數(shù):420
內容簡介:
本書全方位地介紹了JavaScript開發(fā)中的各個主題,無論是前端還是后端的JavaScript開發(fā)者都可以在本書中找到自己需要的內容。本書對HTML5、Web API、Node.js及WebSocket等最新的熱門技術也作了深入淺出的介紹,并提供了大量實際應用范例。
本書語法說明系統(tǒng)深入、示例代碼規(guī)范詳細,對容易產(chǎn)生問題之處均做了重點說明,不僅適合初學者入門,而且有經(jīng)驗的JavaScript開發(fā)人員、項目負責人也能從中受益。
作者簡介:
作者簡介:
井上誠一郎
曾在美國參與過Lotus Notes的開發(fā),后在日本創(chuàng)立了Ariel Network股份公司,任CTO。目前從事面向企業(yè)的PSP軟件及企業(yè)產(chǎn)品的開發(fā)。著有《PSP教科書》、《Java編程詳解》、《實踐JS 服務器端JavaScript入門》等書。負責本書Part1、Part2、Part5與Part6的撰寫。
土江拓郎
大學時學習了航天工程學和機器人工程學,之后憑著興趣進入了IT行業(yè)工作。2008年加入Ariel Network股份公司。從事Java及JavaScript相關的企業(yè)產(chǎn)品開發(fā)工作。負責本書Part3的撰寫。
濱邊將太
學生時代在Ariel Network股份公司實習。學習了軟件開發(fā)的基礎知識并了解了開發(fā)人員的工作生活情況。2009年加入了雅虎公司,從事針對電視的軟鍵盤開發(fā),以及智能手機應用GyaO!的開發(fā)。最近正在公司中開展HTML5及Node.js的普及活動。負責了本書Part4的撰寫。
譯者簡介:
陳筱煙
畢業(yè)于復旦大學計算機科學與技術系,主要研究方向為跨設備人機交互理論。長期從事對日軟件外包工作。從大學時期開始接觸并使用Java、JavaScript進行程序開發(fā),現(xiàn)在對Web應用及智能手機應用的開發(fā)很感興趣。
javascript是一門腳本編程語言。一般至少要學1~2個月,才有效果,也視個人天賦而定。當然也少不了大量練習,要經(jīng)常自己動手寫 特效。要求網(wǎng)上大部分特效,你都能改。然后自己能寫一些簡單的特效,就算入門了。但要精通的話就得花些時間了,最好參與些項目,很多技巧不通過項目這樣比較大的歷練是用不上的。千鋒軟件開發(fā)培訓課程的授課模式采用全程面授,講師成本雖高,但是效果卻是顯著的,和學員面對面溝通,了解到學員在學習過程中遇到的問題,動態(tài)地調整授課方式。
千鋒教育就有線上免費的軟件開發(fā)公開課,。
JavaScript是腳本語言,主要用來編寫動態(tài)網(wǎng)頁。建議先從基本的HTML和CSS學起,學學靜態(tài)頁面布局。然后在網(wǎng)上找一些javascript入門級的視頻教程,按照教程一步步由淺入深按部就班的學習就OK。
編程一方面靠的是邏輯思維,另一方面也是一個孰能生巧的過程,只要多敲幾遍代碼,將基礎知識融會貫通,肯定能夠學好的。千鋒教育集團目前已與國內4000多家企業(yè)建立人才輸送合作,與500多所大學建立實訓就業(yè)合作,每年為各大企業(yè)輸送上萬名移動開發(fā)工程師,每年有數(shù)十萬名學員受益于千鋒教育組織的技術研討會、技術培訓課、網(wǎng)絡公開課及免費教學視頻。
《JavaScript核心概念及實踐》(邱俊濤)電子書網(wǎng)盤下載免費在線閱讀
資源鏈接:
鏈接:
提取碼:f43z
書名:JavaScript核心概念及實踐
作者:邱俊濤
豆瓣評分:7.8
出版社:人民郵電出版社
出版年份:2013-5-1
頁數(shù):250
內容簡介:
本書不僅幫助讀者迅速掌握JavaScript基礎知識和核心技術,而且通過實例講解如何將這些知識和技術理解應用到實際工作中,提升編程能力,以簡潔、優(yōu)美的代碼開發(fā)出功能強大且更易于維護和擴展的應用程序。
全書共16章和兩個附錄,可以分為兩個部分。第一部分包括第1章到第7章,側重介紹JavaScript語言的核心概念,為讀者學習后續(xù)內容打下牢固基礎;這部分介紹了JavaScript的對象、函數(shù)、數(shù)組、正則表達式、閉包等主題,以及相關的重要知識點。 第二部分包括第8章到第16章,著重討論了JavaScript支持的編程范式、核心概念的延伸、JavaScript的前端開發(fā)框架、測試框架、JavaScript引擎、JavaScript在Java,C、C++等應用中的使用,以及服務器端的JavaScript應用。這部分內容更注重實例,幫助讀者將核心概念引用到實際工作中。附錄A介紹了一些常用JavaScript技巧;附錄B簡單介紹了jQuery并給出了一個應用實例。
本書可以供JavaScript初學者閱讀,以快速學習和掌握這門語言的核心內容:對于有一定經(jīng)驗的JavaScript程序員,則可以通過本書加深和拓展對JavaScript的認識,提升應用開發(fā)能力。
作者簡介:
邱俊濤,ThoughtWorks軟件工程師。喜歡編程,尤其喜歡編程帶來的成就感。對動態(tài)語言、函數(shù)式編程等有濃厚的興趣。喜歡開源軟件,喜歡知識分享,并從他人的分享中學習。崇尚簡單、輕量的設計和模式。個人主頁:。微博:@正反反長。