菜鳥學習Javascript20170116

9.流程控制

順序結構javascript

普通的一行行執行代碼java

 條件結構--分支結構--選擇結構node

         1.單路分支正則表達式

              If(條件){  條件成立時執行碼     }數組

        2.雙路分支app

           If(條件){ dom

                       條件成立時執行的代碼ide

                  }函數

            else{spa

                   條件不成立時執行的代碼

                 }

        3.多路分支

           用於範圍

        if(條件1)

                 { 條件1成立時執行的代碼}

         else  if(條件2)

                  { 條件2成立時執行的代碼}

                   --- 

          else  if(條件 n)

                  { 條件n成立時執行的代碼}else{ 條件一、2至n不成立時執行的代碼}

       單個匹配

       switch(表達式)

           {

              case值1:執行代碼塊 1break;

              case值2:執行代碼塊 2break;

              ...

              case值n:執行代碼塊 nbreak;

             default:與 case值1 、 case值2...case值n 不一樣時執行的代碼

       }

      4.嵌套分支

           If(){

                     If(){

                               Switch(){

                                                }

                                   }

                        }

     循環結構

       While()

                 while(判斷條件){    循環語句 }

        Do-while()

                do{    循環語句 }while(判斷條件) 

       For()

             for  (初始化變量;循環條件;循環迭代)

                   {        循環語句  }

              js中for循環用的最多

            For(var i=1;i<=9; i++){

             For(var j =1; j<=i; j++)

                   {

                             Document.write(j+」x」+i+」=」+(j*i)+」」+」」)

                   }

              Document.write(「<br>」);

       }

 

10.函數

    Javascript中的函數。

    函數:是一段完成「指定功能」的已經「命名」的代碼段。

    函數只用「調用」才能使用到,調用,經過名稱(能夠在聲明以前,也能夠在聲明以後)【能夠重複調用】。

 

    或者

    function 函數名()

    {

    函數體;

    }

        

    function text[函數名]a,b,c,d,參數5,{

      功能段(一條,活多條)

      Return

    }

    例子function add(x,y){

    Sum = x + y;

    Document.write(sunm);

    }

     

    add(4,5);

     

  

    text();【函數調用,引號不能省】

    1.函數名

    2.參數:根據須要使用參數

    3.函數體(功能)

    4.返回值(可選)

     

    函數名不加()時,這個函數名就表明整個這個函數

     

    回調函數 ,聲明

 

        使用狀況:

        1.函數的做用 -- 決定我去不去使用

        2.函數的參數 --決定我怎麼用

        3.返回值     --決定我使用後如何處理

11.函數默認值設置和內置函數

變量

全局變量:在函數外面聲明的變量。

局部變量:在函數內部聲明的變量,只有在函數內部使用,函數結束失效。

初始化默認參數

 

           <script>

function text(a,b,c)

a = a ? a : 1;//若是a=a,則輸出a,不等於輸出1

b = b ? b : 2;

c = c ? c : 3;

 

alert(a+","+b+","+c);

}

text();//函數調用

</script>

函數參數初始化

經過arguments改變參數個數

 

          <script>

function canshubutong(a,b){

alert(arguments.length);

alert(arguments[3]);

}

canshubutong(1,2,4,6);

</script>

arguments改變參數

無論默認幾個參數,調用函數願意輸出幾個就幾個,arguments就是這麼一個任性的存在。

內置函數

parseInt() 函數可解析一個字符串,並返回一個整數。ps(內置函數不少,只是舉例一個)

變量

全局變量:在函數外面聲明的變量。

局部變量:在函數內部聲明的變量,只有在函數內部使用,函數結束失效。

12.javascript對象

    1.基於對象的操做方式(面向對象封裝、繼承、多態)

    2.將相關的操做使用一個對象完成,看做是一個總體

    Javascript  

               

     字符串對象

      數學對象

      數組

      時間對象

     

    對象中存的內容?

      一。屬性(變量)

      二。方法(函數)

     都是和這個對象相關的

     

    1.聲明對象

    2.使用對象

    3.使用系統對象

    步驟 1.找到對象

         2.實例化對象

         3.使用對象

    對象實例.屬性 (取值 ,賦值)

    對象實例[屬性名]

    對象實例.方法

 

    系統內置對象 

    自定義對象 

    和對象有關的一些操做

    遍歷對象

    

    遍歷對象兩個方式

    For(變量 in 對象){

    }

     

    With(對象){

       全部方法若是不加對象都是 括號對象的方法

    }

    羣組討論給出理解:

     

    number,string,boolean,undefined,null五種基本數據類型和Object複雜數據類型(基本引用類型),
基本類型不是對象,而他們具有一些方法屬性,是由於在訪問這個基本類型時後臺自動建立了一個對應的基本包裝類型的對象,在代碼自行完當即銷燬,
引用類型一直存在於當前做用域,基本包裝類型只存在一行代碼的執行瞬間,而後當即被銷燬
Object / Array / Function / Date / RegExp / Error / Map / Set …引用類型
Object基本引用類型,Array、Function等都是Object的實例

     

    提高:

    衍生點:typeof a(判斷a的數據類型) a instanceof b(判斷a是不是b的實例) a.constructor(獲取a的構造函數)

 

13.Javascript內置對象應用

Math 靜態對象,不用new

常見用方法:取上 ceil()

            隨機random()

            割捨floor()

            四捨五入 round()

            最大maxx,y

            最小min(x,y)

 

正則表達式對象:

            方式一:re  =  //

            方式二:re  = new RegExp();

 

            例子

            Var   zz = /^a/i;

            Var   zz = new RegExp(「^a,i」)

            Alert(typeof(xx));

 

14.數組的聲明與應用

. 數組的做用

           只要是批量的數據都須要使用數組聲明

 

二.如何聲明數組

           1.快速聲明數組

 

            Var 數組名字 = [元素1,元素2,元素3,元素……]

            Var   name = [zhangsan,lisi,wangwu];

            Var  arrs = [[aaa,bbb,ccc],[1,2,3,4],];

 

            2. 使用Array對象

Var arr =new  Array(「元素1」,「元素2」);

 

三.遍歷數組

 

 

四.數組的處理{內置處理方法}

sort()對數組的元素進行排序

 

   var  arrary = [1,9,4,3,6,8,2,7,0];


    arrary.sort();//sort(方式是排序,並且是數字個數相等的排序)

    /*倒敘排列*/

    arrary.sort(function(a,b){

    if(a > b){

    return -1;

    }

    else if(a==b){

    return 0;

    }

    else{

    return 1;

    }

    

    })

    

    document.write(arrary);

 

    還有 push()向數組的末尾添加一個或更多元素,並返回新的長度。

     unshift() 向數組的開頭添加一個或更多元素,並返回新的長度。

     shift()刪除並返回數組的第一個元素

         join()    把數組的全部元素放入一個字符串。元素經過指定的分隔符進行分隔

15. DOM操做

 做用

      DOMDocument Object Model

      1.document 文檔  HTMl XML文件

        標記語言(標籤似的)

        <body>

              <div>

                    <a>gaga</a>

              </div>

        </body>

      2.Object 對象(HTML元素 轉成的對象(js對象))

           注意:若是使用js操做HTML文檔,就須要選中HTML文檔結構轉成JS對象

             a。操做屬性

             B。操做內容

                   innerTextIEtextContent(火狐)

                   innerHTML

                   outeText

                   outHTML

                 表單

                     Value  例如 input標籤和textare

             C。操做樣式

                   aobj.style.backgroundColor = red;

                   aobj.style.fontSize = 75px;

                 

                   ClassName

                   aobj.className = text;

                   aobj.className+=  demo;

 

 

                   利用for in 遍歷全部標籤屬性和方法

 

                   Var pro = 「」;

                   For ( pro in 對象名)

                    {

                      Document.write(a.+pro+=+aobj[pro]+<br>);

                    }

                    

          有了以上三點的操做以前先轉成對象。

 

          轉成對象的兩種形式:

              1.標記名(多個):id(惟一) ,name(多個)。

              Document 中的三個方法

              

              Var  objs = document.getEleMentsByTagName(div);

              Var  objs = document.getEleMentById(one);

              Var  objs = document.getEleMentByName(two);

 

              2.經過數組

 

              Document.all = [object]

                    Document.appplets = [object]

                    Document.embeds

                    Document.script

                    Documnet.forms

                    Document.p_w_picpaths

                    Doucment.anchors

                    doucment.styleSheets

                    Doucment.links

 

 

                    Document.body

                    Document.frames

                    Document.title

 

             數字訪問 7中方式

                Document.forms[1]                 

                Document.forms[名字]

                Document.forms.item[1]

                Document.forms.item(名字)

                Document.forms.名字

                Document.名字

                Document[名字]

 

                中括號[ ] 和 點 . 至關於 (……的)

                

                      

16. DOM操做 之model

HTML DOM 中,全部事物都是節點。DOM 是被視爲節點樹的 HTML。

 1、講文檔想成一個倒數,每個部分(元素,內容,屬性,註釋)都是一節點。

 2、只要知道一個節點,按照關係找到其餘節點

       父節點                       parentNode

       子節點(第一個,最後一個)     childNodes        firstChild           lastCHild

       同胞節點(上一個 下一個)    nextSibling        previousSibling

        

      每一個節點只有一個父節點多個子節點

3、找到節點,節點類型nodeType,節點名nodeName,節點值nodeValue

 

      每一個節點都擁有包含着關於節點某些信息的屬性。

 

      nodeName 屬性含有節點的名稱。

      元素節點的nodeName是標籤名稱

      屬性節點的nodeName是屬性名稱

      文本節點的nodeName永遠是#text

      文檔節點的nodeName永遠是#document

 

     nodeType 屬性可返回節點的類型

 

元素             返回值 1

屬性               : 2

文本                      3

註釋                      8

文檔                      9

 

 

能夠在一個文檔流中

  1。建立節點

     document.createElement(img);

     appendChild();

     insertBefore();

  2。添加到文檔流中

  3。刪除節點

     removeChild();

相關文章
相關標籤/搜索