JS基礎,js基礎教程

來源:互聯網
上載者:User

JS基礎,js基礎教程
                                                          JavaScript                                                          第 一 部 分一.定義            基於瀏覽器的語言;               基於物件導向;c語言面向過程,java物件導向:繼承,封裝,多態;               事件驅動;               指令碼語言;二.作用:           表單驗證,減輕服務端的壓力;             添加頁面動畫效果;             動態更改頁面內容;             AJax網路請求;三.組成部分:                  ECMAScript;指令碼程式語言, 語言標準ES5.1,最新ES6.0;                    文法,變數和資料類型,                    DOM; 文件物件模型 ;文檔節點                    BOM瀏覽器物件模型window:history,doucument,location四.javaScript基本結構:                               <script type="text/javascript">                                                   javascript語句                                                  </script>五.使用JS的三種方式:1.HTML標籤中的內嵌JS;(不提倡使用)2.HTML頁面中直接使用JS;      <script type="text/javascript">                             javascript語句                              </script>                        3.引用外部JS檔案;             <script language="JavaScript" src="">    </script>    【注意事項】    1.頁面中JS代碼與引用JS代碼,可以嵌入到HTML的任何位置,但是位置不同會影響到JS代碼的執行順序;    例如:<script>在body前面,會在頁面載入之前執行JS代碼;    2. 頁面中的JS代碼,使用type="text/javascript";    3.引用外部JS檔案,使用language="JavaScript";     引用外部JS檔案的<script><script>標籤,必須成對出現,且標籤內部不能有任何代碼;        單行注釋ctrl+/       段落注釋ctrl+shift+/ 六.JS中聲明變數的寫法:              1.寫法:                     var width=10;//使用var生命的變數,只在當前函數範圍有效;                     width=11;//不使用var直接賦值產生的變數,預設為全域變數,整個JS條件有效;                     var a,b,c=1; 同時聲明多個變數,變數之間用英文,分割,但是,複製需要單獨賦值,例如上式中,只有c=1,ab:undefined;              2.變數的命名規範:                                                    字母數字底線_和$符號;                                                    區分大小寫,大小寫字母為不同變數;                                                3.變數名要符合駝峰法則 :                     變數開頭為小寫,,之後每個首字母大寫(單詞之間用底線分割)                       例如:jiang_hao_shi_shuai_ge                                 JiangHaoShiShuaiGe                4.JS中變數的資料類型:              undefined:未定義,用var聲明的變數,沒有進行初始化賦值;              Null:表示為空白的引用;              number;              Boolean:真假,可以是小數,也可以是整數;              String:用“”或‘’包裹的內容,成為字串;              object:(複雜資料類型:函數,數組)              5.常用的數值函數:           ①  isNaN():用於判斷一個變數或常量是否為NaN(非數值)。  使用isNaN判斷時嘗試使用number()函數進行轉換,如果能夠轉換為數字,則不是非數值,結果為false;              “111”純數字字串,false              “” Null 字元串,false              “la”包含其他字元,true              true/false 布爾類型,false            ② number():將其他類型轉換成數實值型別       【字串類型轉數值】              ①.字串為純數值字串時,會轉為對應的數字“111”-->111;              ②字串為空白字串時,會轉為0,“”-->0;              ③ 字串包含其他非數字字元時,不能轉換,“111a”-->NaN;       【布爾類型轉數值】              true->1;fulse->0;       【Null/undefined專數值】              Null->0,undefined->NaN;         [object類型轉數值]            (以後在瞭解)  先調用valueof函數,確定函數是否有傳回值,再根據上述各種情況判斷;         parseInt:將字串轉換成數值;           ①.Null 字元串不能轉,結果為NaN;""->NaN;           ②.純數字能轉,小數點後面除掉;123->123;123.45->123;           ③.包含其他字元,會截取第一個非數值字元前的數值部分。               "123a456"->123;"a123a234"->NaN;           ④.parseInt只能轉string類型:Boolean/null/undefined均為NaN;         parseFloat:將字串轉換成數值;            使用方式同parseInt,但是當轉化小數時保留小數點;轉化整數時保留整數;            123.5->123.5;  123->123;         typeof檢測變數的資料類型                             未定義->undefined                             字串->string;                              true/false->boolean;                             數值->number;                             對象/null->object;                             函數->function;  【聲明變數注意事項】:                  1.JS中所有變數型別宣告,均使用var關鍵字,變數的具體資料類型,取決於給變數賦值的執行;                  2.同一變數可以在不同賦值時,修改變數的資料類型                      var width=10; 變數為整形;                      width="哈哈"; 變數被改為字串;                  3變數可以使用var聲明,也可以省略;【區別】是否為全域變數;                  4.同一變數名可以多次用var聲明,但是並無任何含義,也不會報錯,第二次之後的聲明,只會被理解為賦值 JS中的輸出語句          * document.write():輸出語句,將write中的內容列印在瀏覽器螢幕上;          * [使用時注意]:除變數、常量以外的內容,列印時必須放到“”中;變數常量必須放到“”外;          * 列印的內容有多部分組成時,之前用+連結;          * 例如:document.write("左手中的紙牌:"+left+“<br/>”)                                                                             第二部分 一.【算術運算】     + 加、- 減、* 乘、 / 除、 % 取餘、++ 自增、-- 自減     +:有兩種作用,連結字串/加法運算;         當+兩邊均為數字時,進行加法運算,當任意一邊有字串時,連接字串,串連之後的結果仍為字串;     /:結果是多少就是多少;     %:取餘數;     ++:自增運算子,變數在原來的基礎上+1;--:同理;     =:賦值;     +=:a+=5——>a=a+5;     -=:a-=5——>a=a-5;前者的執行效率快; 二、【關係運算】:    == 、=== !=、>、<、>=、<=     ==:等於;類型相同,同===,類型不同,將等式兩邊類型不同時,先用number()轉換成數實值型別,在判斷     null==undefined 成立;null===undefined不成立     ===嚴格等於;類型不同,直接返回false,類型相同,在進行下一步判斷;  條件運算子(多目運算):a>b?true:false  當?前面的部分運算結果為true時,執行:前面的代碼,當?前面的部分運算結果為false時,執行:後面的代碼;  可以多層嵌套;例如:var jiegao=num>5?"大了":(num=5?"蒙對了":"小了");【運算子的優先順序】  ()! ++ --  * / %  + -  > < <= >=  == !=  &&  ||  各種賦值:= += /= *=                                                                     第 三 部 分一.[if-else]寫法:  if(判斷條件){      //條件為true時執行;}else{      //條件為false時執行;}if()中的運算式,運算之後的結果應改為:Boolean:true真   false假String,非Null 字元串為真,Null 字元串為假;Null/NaN/Undefined:全為假;Object:全為真;else{}結構根據具體情況可省略;二.【多層if、階梯if】1、結構寫法:            if(條件一){                     條件一成立              }     else if(條件二){                     條件一不成立&&條件二成立          ( else if可以有多個 )                    }        else{              條件一不成立&&條件二也不成立              }    2、多重if結構中,各個判斷條件是互斥的,只能選擇其中一條路;    3、if-else的{}可以省略,但不提倡,                如果省略{},則,if/else結構包含的代碼,僅為其後最近的一行(分行結束);                如果省略{},則,else結構永遠屬於其前方最近的if結構; 三.【嵌套if結構】1、寫法:        if(條件一){         條件一成立                   if(條件二){                   條件一成立,條件二也成立                                  }                      }      else{     條件一不成立            }四.【switch分支結構】1.結構寫法:switch(運算式){case 常量運算式1:  語句1; break;case 常量運算式2:語句2; break;  defalt:  語句;break;                      }【注意事項】:①switch()中的運算式,以及每個case後面的運算式,(對象和數組不行)可以為任何js支援的資料類型;②case後面的所有常量運算式必須各不相同,否則只會執行第一個;③case後的常量可以是任何資料類型,同一個switch結構的不同case可以是多種不同的資料;④switch結構在進行判斷的時候,採用的是全等判斷===;⑤break的作用:執行完case代碼後跳出當前switch結構;   缺少break的後果:從正確的case項開始依次執行所有的case和defalt⑥switch結構在判斷時,只會判斷1次正確答案,當遇到正確的case項後,將會不在判斷後續case項;   switch的結構執行速率要快於多重if結構,在多路分支時,可優先考慮switch結構;   五.迴圈結構迴圈結構的步驟:      1聲明迴圈變數      2判斷迴圈條件      3執行迴圈體(while中{})操作      4更新迴圈變數  然後,迴圈執行2,3,4  【js中迴圈結構中支援的資料類型】     Boolean:true真   false假;     String,非Null 字元串為真,Null 字元串為假;     number():0為假,一切非0全為真     Null/NaN/Undefined:全為假;     Object:全為真;while 迴圈特點:先判斷,在執行;do-while:限執行,再判斷,即便初始條件不成立,do-while迴圈至少也執行一次 【for迴圈】:  先判斷再執行三個運算式均可由多部分組成,之間用逗號組成,但是第二部分的判斷條件需要用&&連結,最終條件需要為真/假.for(運算式1,運算式2,運算式3){語句;}1,定義迴圈變數;2.判斷迴圈條件;3,更新迴圈變數;三個運算式均可省略,但是兩個;不能省;例如:        

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.