做爲一名web開發人員,平常用的最多的就是js,也就是大名鼎鼎的ECMAScript,又稱javascript。再次聲明js與java除了語法上類似,沒有半毛錢關係。聽說之因此叫javascript,是由於過去網景公司花了十天時間開發歷史上的初版js,但當時沒有名氣,故借用java之名在該script前綴上加上一個java,以提高其知名度。具體的歷史或老皇曆,百度或者相關官網一大堆,這裏再也不贅述。javascript
做爲一名先後臺都攻的軟件工程師,雖然說平時js足以解決常見的問題和共性問題,但發現總會有這樣那樣的小錯誤,有的時候,就是那麼一個小錯誤,調試了3~4小時,浪費了不少時間,最後解決了,卻發覺分分鐘能夠解決的問題,我竟然花了這麼長時間,以爲太對不起有限的光陰。因此決定好好系統學習下javascript。在我看來,爲該書作序的人,說的一句話,挺對的,js上手是很是容易的,要麼跟着w3scholl一遍遍敲,記得當初我學習js的時候就是這樣,又或者參考廖雪峯的js教程,他們的教程很容易讓你熟悉並瞭解js。css
下面是網站:html
w3school: http://www.w3school.com.cn/js/index.aspjava
廖雪峯教程:https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000程序員
不過若是是小白建議仍是從w3school入手吧,固然在此也能夠看看廖雪峯。我我的是從w3school一遍遍敲,一遍遍運行,一遍遍找博客瞭解和熟悉。可是博客畢竟是零散的,不夠系統。視頻了,我我的學習視頻一大堆,有好哥們分享的,也有朋友給的。說到視頻,若是你是徹底的小白,建議能夠先看視頻再實戰,由於視頻可讓你瞭解熟悉,等到有了基本的熟悉,去除了一些陌生感,就是實戰吧!web
或許有人問,我爲何不看視頻學習呢?ajax
第一,我我的有相關經驗,能夠看懂js和使用js解決項目問題;後端
第二,做爲一名工程師,平時忙於工做,沒有不少時間去看視頻,視頻的時間太長了;瀏覽器
第三,在我看來視頻適合小白,徹底不懂的,可是做爲有相關實戰經驗的人,沒多大必要,固然有些進階相關的視頻仍是不錯的;性能優化
第四,書相對於視頻,系統全面,並且,上下班地鐵差很少的兩個小時,我能夠經過手機閱讀,至少能夠讀完一章,這樣時間也就充分的利用了;
說到js,至今我仍以爲它是一個很是神祕又好用的玩意,它能夠作出酷炫的效果,也可讓我先後端分離開發,同時做爲一名Java程序員,它的語法對我而言太容易懂了。固然,仍是那句話,入手容易,深刻難。現在我要打破這個瓶頸。
下面進行系統的講解:
1.JavaScript由三部分組成
(1)核心(ECMASCRIPT),又稱ECMA262,是js的核心;
ECMA由如下部分組成:
a.語法
b.類型
c.關鍵字
d.語句
e.保留字
f.操做符
g.對象
(2)瀏覽器對象模型;
經常使用的window,location,screen等,
我用的比較多的,仍是window和location
window經常使用的方法
alert()警示框 經常使用於提示信息
confirm()確認框 一般用因而否刪除這樣的或是否啓用等
propt()輸入框 這個用的很少
setInterval()每隔多長時間加載 ,能夠調用屢次, ajax輪詢可使用它,不過太消耗服務器資源,應用的一般是數據定時更新
setTimeout()每隔多長時間加載 ,通常只加載一次
location.href用的比較多 先後端分離時,不過經過form提交的形式,直接經過window.location.href進入另一個界面
location.reload用的也比較多
固然瀏覽器對象除了上述說的,還有navicator,不過這個我也沒用過,開發一段時間,從未用過,看字面意思,彷佛有導航的做用
(3)文檔對象模型;
文檔對象,簡單的說對節點進行增,刪,改,查。
增長的話,好比遍歷數據後,將html元素,經過append方法追加到某個ID選擇器或者類選擇器中
刪除的話,節點刪除,好比,上級公司下級部門這樣的
修改的話,replace方法替換
查的話,find或push之類的方法
這是我我的開發用的比較多的
2.html頁面如何寫js
html寫js有三種方式:
(1)外部js 經過<script src="test.js"></script>引入html中,從而可調用該js文件中全部函數,我我的建議,很是強烈建議開發,不管是初學者仍是半路出家的,多寫外部js少寫內部js或者直接在<body></body>中嵌入js,由於這種寫法一點都很差,至少我這麼認爲,寫外部js能夠將公共部分js抽取複用,並且方便管理修改規範;
運行示例:
test.html
<html> <head> <script src="test.js"></script> </head> <body> </body> </html>
test.js
alert("hello js")
(2)內部js 在<head></head>中嵌入<script></script>
<html> <head> <script> alert("hello js") </script> </head> <body> </body> </html>
(3)<body></body>內嵌入js
<html> <head> </head> <body> <script> alert("hello js") </script> </body> </html>
(1)仍是那句話,建議使用,(2)的話,慎用,由於到時對web進行優化時,<head></head>內嵌入大量的js將會致使瀏覽器加載網頁速度變慢,不利於web性能優化
另外js文件放頭部和尾部的效果是不同的,由於頭部優先加載,頭部一般放置css外部文件,尾部放置js,由於瀏覽器優先加載頭部,由頭到尾,因爲css優先加載,這樣渲染效果也會很快,若是是js文件放置頭部的話,會致使css渲染效果變慢從而致使影響用戶體驗