1. 程式人生 > >自學程式設計步驟

自學程式設計步驟

步驟/語言 JS python php c c++
瞭解背景知識

1、相關知識:

    互動:使用者操作,程式處理使用者的操作,返回處理結果

    js:專門編寫互動的程式語言

2、歷史:

1995年,Nescape:Navigator瀏覽器,由於當時(如日期驗證12月32號,這個小事都需要發到伺服器驗證,然後又等發回來,一個操作一個來回,伺服器接待不過來的而且當時網路很差10k/s),於是網景公司提出說應該有一種客戶端程式語言:LiveScript,同年java 出現(write once run anywhere迷倒了網景公司上層)直到現在前端任何一種語言都不能做到一次編寫處處執行(比如nth-child ie瀏覽器就不行),在前端任何時候都要考慮相容性;為了趕時髦,把LiveScript改名為javascript於是委派布蘭登.艾奇(Brendan Eich),10天時間,像極了java但一定要比Java簡單.由於作者負氣加趕工寫出了js,但是問題相當多。由於當時navigaror很出名,js乘著此瀏覽器的東風傳遍了世界,雖然很多問題,但由於當時就這一種前端指令碼,大家只好硬著頭皮使用直到現在

1996:javaScript1.1-->ECMA-->ECMAScript標準(宋江被招安,成為正規軍,否則始終是草寇)

            同年Microsoft(要不是因為當年微軟搗亂,js也不至於成為現在這樣):做個人作業系統,一個windows賣一臺電腦,它把ie嵌入的作業系統中,稱也支援ECMAScript-->Jscript

    ECMAScript               JacaScript                   Jscript

    ECMAScript:標準、規定(菜譜)

     JacaScript  :netcape按照標準實現的JavaScript語言

    Jscript:微軟遵照  ECMAScript  標準實現的自己的語言

    兩家競爭各加各的東西,導致程式設計師不得不寫兩套程式碼

1998:W3C:

    DOM:基於ES標準制定的專門操作網頁內容的API(基本實現一次程式碼處處執行)

    API:瀏覽器已經實現的,開發人員直接使用的程式設計介面

BOM:專門操作瀏覽器視窗的API

        沒有標準,各瀏覽器廠商自行定義

所以大部分瀏覽器相容在BOM上

3、組成部分:

                    1、 ECMAscript(javascript核心語法)

                    2、文件物件模型 (DOM)---專門操作網頁內容的API

                    3、瀏覽器物件模型(BOM)---專門操作瀏覽器視窗的API

4、基本特點:1、解釋性語言:

                        2、弱型別語言:

                        3、基於物件:

5、用途:客戶端

                1、客戶端資料計算(比如購物車數量,總價等等)

                2、表單輸入驗證(比如規定輸入字元個數)

                3、瀏覽器事件的觸發和處理(js絕大對數正式的功能幾乎都是被事件觸發的)

                4、網頁特殊效果的製作(js,bom,dom可以對網頁上一切內容任何位置做任何你想要的操作)----(只有想不到沒有做不到----拼的是想法和創意)

                5、伺服器的非同步資料提交

 

6、

 

      

歷史:

現狀:

特點:

應用領域:

   
搭建環境

1、執行的相關知識:瀏覽器包含兩個小軟體

                                   內容排版引擎+js解釋引擎

        內容排版引擎:專門解析html和渲染css的軟體

        js解釋引擎:專門解釋,執行js程式的軟體

        解釋執行(js、html、css):預設從上到下,讀一行,    執 行 一行,後讀到的相同內容會覆蓋先讀到的

       指令碼:不需要預編譯,邊解釋邊執行的程式

                  不像java那樣需要先編譯,查錯

2如何編寫和除錯:

    js指令碼程式:就是普通文字,editplus就可以編寫

    執行js指令碼:2種:

        1、獨立安裝的js直譯器中:Node.js 

        2、瀏覽器的js直譯器中:3處

            1、瀏覽器的控制檯中:console

                (使用)什麼東西的什麼功能

                                console.log(" ")

              常用操作:

                再調出前邊執行過的語句,向上箭頭

                調出當前語句後邊執行過的語句:向下箭頭

                清屏:

                編寫多行:shift+回車

            2、在網頁中編寫js:2處

                1、在<script>元素中:頁面中專門編寫js程式的區域

                隨頁面載入過程而解釋執行

                可以在任意位置出現任意個

                想頁面中輸出一句話,

                    使用頁面的輸出功能:

                     document.write()直接在body元素中寫入html

                在當前視窗,彈出警告框,顯示資訊:

                使用 視窗的警告功能:

                    [window.]alert("xxx")

                    alert一次,彈一次框,每個框都會阻斷瀏覽器的載入和程式的執行過程

                2、在元素的事件處理函式中:僅能編寫少量程式碼

                    事件:瀏覽器自動或手動觸發的元素狀態改變

                    事件處理函式:on事件名

                                            本質是元素的一個屬性

                                             屬性值是js語句

                    執行時機:只有事件觸發,才執行;

            3、使用外部.js檔案,單獨儲存js程式

                1、建立並編寫js檔案

                2、在頁面中引入js檔案:<script src=" url"></script>

    除錯js程式:都是在console中

        bug:程式中的錯誤

        debug:找出錯誤,並解決錯誤的過程

        如果一個script中發生錯誤不會影響其他script的執行,只會影響本script中,出錯之後的程式碼

        控制檯中會包含重要錯誤資訊:

            錯誤型別:錯誤原因              錯誤的位置連結

       
變數和常量

1、***變數:記憶體中儲存*一個*資料的儲存空間,再起一個名字

 何時使用:程式中反覆使用的資料,都要先儲存在變數中,在參與運算

如何使用:宣告 賦值 取值

    1、宣告:在記憶體中建立一個新變數

        如何宣告:var 變數名;

                僅宣告但暫未賦值,預設值為undefined

                變數名:1、不能以數字開頭,僅能包含母,數字和下劃線

                              2、不能用保留字,js中已經預先

                                    使用的關鍵字;比如name X

                              3、見名知意

                              4、駝峰命名:第一個單詞首字母

                                小寫,之後每個單詞首字母大寫

    2、賦值:

            *對已經包含值的變數賦新值,則新值會替換舊值

        建議:1、宣告的同時,初始化變數的值

                    var 變數名=值;

3、取值:只要使用變數名,在執行時,會被自動替換為變數中的值

        

                                

       
資料型別          
運算子          
邏輯結構          
通用小程式          
函式和物件          
第三方庫和框架          
實用小專案