js基礎篇01
標簽: js javascript
JavaScript基本功
JavaScript基礎
01-網頁、網站和應用程序
一個強大的網站都是由一個個網站組合而成,網頁說白了就是一個html文件,瀏覽器是通過內核解讀這些網站的,那么也就是說,一個網站是由很多個html組成的。
網頁:一個單獨的頁面
網站:是由多個網頁組成
比較好的制圖工具
- Visio
- 腦圖
- Xmind
- https://www.processon.com/免費在線作圖,實時協作
- 用例圖
推薦使用Xmind進行制圖,因為簡單和方便。并且:免費!!!
02-JavaScript的強大
幾乎所有的計算機領域,都可以用js去實現,當然,就算現在不能實現的功能,以后也終會出現,js只會越來越完善,越來越好!
JavaScript和java有什么區別呢?
其實最初javaScript想找一個大哥而已,那時候的java就已經是廣泛流行了,也就是想借勢java宣傳.隨著js的逐步推廣,微軟也是意識到這是一個巨大的商機,于是秉承自己一貫的風格,建立了一些js的腳本語言.
Javascript是一種基于對象(Object)和事件驅動(Event Driven)并具有安全性能的腳本語言。使用它的目的是與HTML超文本標記語言、Java腳本語言(Java小程序)一起實現在一個Web頁面中鏈接多個對象,與Web客戶交互作用。例如可以設置鼠標懸停效果,在客戶端驗證表單,創建定制的HTML頁面,顯示警告框,設置cookie等等。
歷史背景
布蘭登·艾奇(Brendan Eich,1961年~),1995年在網景公司,發明的JavaScript。
一開始JavaScript叫做LiveScript,但是由于當時Java這個語言特別火,所以為了傍大牌,就改名為JavaScript。
同時期還有其他的網頁語言,比如VBScript、JScript等等,但是后來都被JavaScript打敗,所以現在的瀏覽器中,只運行一種腳本語言就是JavaScript。
03-JavaScript最初的目的
為什么會有js?
JS最初的目的是用來對客戶端的輸入信息預檢測
出現背景
當網上沖浪越來越流行時,對于開發客戶端腳本的需求也逐漸增大。
此時,大部分因特網用戶還僅僅通過 28.8 kbit/s 的調制解調器連接到網絡,即便這時網頁已經不斷地變得更大和更復雜。而更加加劇用戶痛苦的是,僅僅為了簡單的表單有效性驗證,就要與服務器進行多次地往返交互。假想一下,如果你填完一個表單,點擊了提交按鈕之后,等待了 30 秒的處理后,看到的卻是你的用戶名不存在或者賬號密碼錯誤。
想想這該有多崩潰啊,而這些類似的場景,其實在本地就可以很好的解決掉,而不需要服務器來處理,這也就更進一步的促進了JS的發展和成熟。
發展歷程
隨著JS的進一步發展和完善,現在已經有了一套統一的標準來規范它。但是,JS是一種嵌入式的腳本語言,也就是說他可以嵌入到任何的Web中,JS 并不與任何具體瀏覽器相綁定。
js的發展
技術在發展,時代在進步
JS慢慢的在進化
- 第一階段 :
在JS的發展過程中,有一段時間一度被用于小廣告,當然這個階段很快就過去了
2003年之前,JavaScript被認為“牛皮鮮”,用來制作頁面上的廣告,彈窗、漂浮的廣告。什么東西讓人煩,什么東西就是JavaScript開發的。所以瀏覽器就推出了屏蔽廣告功能。
- 第二階段 :
Google將JS用來做異步框架,實現搜索框實時提示
2004年JavaScript命運開始改變了,那一年谷歌公司,開始帶頭使用Ajax技術了,Ajax技術就是JavaScript的一個應用。并且,那時候人們逐漸開始提升用戶體驗了。
插入鏈接與圖片
再比如:
- 第三階段 :
人們都是視覺動物,都會追求更美好的界面,所以在這個階段開始,JS被大量用于做一些界面特效
- 第四階段 :
人類的本性是墮落的,是慵懶的,特別是世界上最懶的一個人種:程序猿
他們認為JS僅僅只能做網頁前端一點都不酷,有一顆一統天下的雄心
所以在這個階段,JS可以做一些移動端的應用了,也就是WebApp
2007年喬布斯發布了iPhone,這一年開始,用戶就多了上網的途徑,就是用移動設備上網。
JavaScript在移動頁面中,也是不可或缺的。并且這一年,互聯網開始標準化,按照W3C規則三層分離,人們越來越重視JavaScript了。
- 第五階段 :
人類的野心也是很強大的,咱們發現JS全都是在前端技術領域非常牛逼,但是后臺依舊要依賴服務器應用,所以這時候又出現了一個很厲害的技術:NodeJS
2011年,Node.js誕生,使JavaScript能夠開發服務器程序了。
- 最后階段 :
JS(PHP)已經是世界上最好的語言了…
04-JavaScript現在的意義
那么js的應用主要有哪些呢?
-
網站前端開發
Javascript 的老本行。用來實現前端邏輯,簡單的比如說點一個按鈕會發生什么之類的,復雜的可以用 js 寫個 x86 模擬器再灌個 linux 系統進去。
-
網站后端開發
Node.js 讓程序員可以用 js 自由地寫后端了。
-
移動開發,Web app
HTML5 提供了很多 API 支持,可以實現原生應用擁有的大部分功能,但是性能有待提高。
-
桌面開發
主要是指 chrome 等瀏覽器能把 js 寫的程序打包成桌面應用。Google 力推的 Chrome OS 也是基于 web app 的操作系統。
-
插件開發
Javascript 是唯一一種在所有主流平臺都被原生支持的編程語言,因此在所有主流平臺都可以使用 js 進行插件開發。
今天,JavaScript工程師是絕對的吃香,能夠和iOS、Android工程師比肩,毫不遜色的。
現在,公司都流行WebApp,就是用網頁技術開發手機應用。什么意思呢?手機系統有iOS、安卓、windows phone。那么公司比如說開發一個“攜程網”APP,就需要招聘三隊人馬,比如iOS工程師10人,安卓工程師10人,windows工程師10人。共30人,工資開銷大。并且,如果要改版,要改3個版本。所以,現在公司,都用web技術,用html+css+javascript技術來開發app。好處是不用招聘那么多工程師,只需要幾個前端開發工程師即可。并且也易于迭代,就是網頁一改變,所有的終端都變了。
JS so easy
- JavaScript在“對初學者友好的語言”排行榜中排名第一。
- JavaScript是有界面效果的,比如你學習C語言,對不起,白底黑字。而JavaScript有絢麗的效果,效果是可見的。你的勞動,是真真正正有效果啊。
- JavaScript是弱變量類型的語言,變量只需要用var來聲明。Java,C#中變量的聲明,要根據變量是什么類型的來聲明:
int a;
float a;
double a;
String a;
boolean a;
這篇就先到這里吧!
智能推薦
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...
requests實現全自動PPT模板
http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...
猜你喜歡
Linux C系統編程-線程互斥鎖(四)
互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...
統計學習方法 - 樸素貝葉斯
引入問題:一機器在良好狀態生產合格產品幾率是 90%,在故障狀態生產合格產品幾率是 30%,機器良好的概率是 75%。若一日第一件產品是合格品,那么此日機器良好的概率是多少。 貝葉斯模型 生成模型與判別模型 判別模型,即要判斷這個東西到底是哪一類,也就是要求y,那就用給定的x去預測。 生成模型,是要生成一個模型,那就是誰根據什么生成了模型,誰就是類別y,根據的內容就是x 以上述例子,判斷一個生產出...
styled-components —— React 中的 CSS 最佳實踐
https://zhuanlan.zhihu.com/p/29344146 Styled-components 是目前 React 樣式方案中最受關注的一種,它既具備了 css-in-js 的模塊化與參數化優點,又完全使用CSS的書寫習慣,不會引起額外的學習成本。本文是 styled-components 作者之一 Max Stoiber 所寫,首先總結了前端組件化樣式中的最佳實踐原則,然后在此基...
19.vue中封裝echarts組件
19.vue中封裝echarts組件 1.效果圖 2.echarts組件 3.使用組件 按照組件格式整理好數據格式 傳入組件 home.vue 4.接口返回數據格式...