JavaWeb學習筆記04--JS(2)

上一篇:JavaWeb學習筆記03–JS(1)
下一篇:JavaWeb學習筆記05–Bootstrap

對象學習:

  1. Function:函數(方法)對象
    1.1 Function創建:

    • var fun = new Function(形式參數列表,方法體); //不常用
    • function 方法名稱(形式參數列表){
      方法體
      }
    • var 方法名 = function(形式參數列表){
      方法體
      }

    1.2 方法:

    1.3 屬性:
    length:代表形參的個數。
    1.4 特點:

    • 方法定義是,形參的類型不用寫,返回值類型也不寫。
    • 方法是一個對象,如果定義名稱相同的方法,會覆蓋
    • 在JS中,方法的調用只與方法的名稱有關,和參數列表無關
    • 在方法聲明中有一個隱藏的內置對象(數組),arguments,封裝所有的實際參數
    • 調用:
      方法名稱(實際參數列表);
  2. Array:數組對象
    2.1 創建:

    • var arr = new Array(元素列表);
    • var arr = new Array(默認長度);
    • var arr = [元素列表];

    2.2 方法

    • join(參數):將數組中的元素按照指定的分隔符拼接爲字符串
    • push() 向數組的末尾添加一個或更多元素,並返回新的長度。

    2.3. 屬性
    length:數組的長度
    2.4 特點:

    • JS中,數組元素的類型可變的。
    • JS中,數組長度可變的。
  3. Boolean

  4. Date:日期對象

    • 創建:var date = new Date();

    • 方法:
      toLocaleString():返回當前date對象對應的時間本地字符串格式
      getTime():獲取毫秒值。返回當前如期對象描述的時間到1970年1月1日零點的毫秒值差

  5. Math:數學對象
    1. 創建:
    * 特點:Math對象不用創建,直接使用。 Math.方法名();
    2. 方法:
    random():返回 0 ~ 1 之間的隨機數。 含0不含1
    ceil(x):對數進行上舍入。
    floor(x):對數進行下舍入。
    round(x):把數四捨五入爲最接近的整數。
    3. 屬性:
    PI

  6. Number

  7. String

  8. RegExp:正則表達式對象
    正則表達式:
    8.1 定義字符串的組成規則。

    • 單個字符:[]
      如: [a] [ab] [a-zA-Z0-9_]
    • 特殊符號代表特殊含義的單個字符:
      \d:單個數字字符 [0-9]
      \w:單個單詞字符[a-zA-Z0-9_]
    • 量詞符號:
      ?:表示出現0次或1次
      *:表示出現0次或多次
      +:出現1次或多次
      {m,n}:表示 m<= 數量 <= n
      m如果缺省: {,n}:最多n次
      n如果缺省:{m,} 最少m次
    • 開始結束符號
      ^:開始
      $:結束

    8.2 正則對象:

    • 創建
      var reg = new RegExp(“正則表達式”);
      var reg = /正則表達式/;
    • 方法
      test(參數):驗證指定的字符串是否符合正則定義的規範
  9. Global
    9.1 特點:全局對象,這個Global中封裝的方法不需要對象就可以直接調用。 方法名();
    9.2 方法:
    encodeURI():url編碼
    decodeURI():url解碼

    encodeURIComponent():url編碼,編碼的字符更多
    decodeURIComponent():url解碼

    parseInt():將字符串轉爲數字

    • 逐一判斷每一個字符是否是數字,直到不是數字爲止,將前邊數字部分轉爲number
      isNaN():判斷一個值是否是NaN
    • NaN六親不認,連自己都不認。NaN參與的==比較全部問false

    eval():講 JavaScript 字符串,並把它作爲腳本代碼來執行。

URL編碼:
傳智播客 = %E4%BC%A0%E6%99%BA%E6%92%AD%E5%AE%A2

DOM簡單學習:爲了滿足案例要求

  1. DOM功能:控制html文檔的內容
    • 獲取頁面標籤(元素)對象:Element
      document.getElementById(“id值”):通過元素的id獲取元素對象

    • 操作Element對象:
      修改屬性值:

      • 明確獲取的對象是哪一個?
      • 查看API文檔,找其中有哪些屬性可以設置
    • 修改標籤體內容:
      * 屬性:innerHTML
      1. 獲取元素對象
      2. 使用innerHTML屬性修改標籤體內容

事件簡單學習

  1. 事件功能: 某些組件被執行了某些操作後,觸發某些代碼的執行。
    * 造句: xxx被xxx,我就xxx
    * 我方水晶被摧毀後,我就責備對友。
    * 敵方水晶被摧毀後,我就誇獎自己。

  2. 如何綁定事件
    1. 直接在html標籤上,指定事件的屬性(操作),屬性值就是js代碼

    • 事件:onclick— 單擊事件

    • 通過js獲取元素對象,指定事件屬性,設置一個函數

      代碼:

	<body>
		<img id="light" src="img/off.gif"  onclick="fun();">
		<img id="light2" src="img/off.gif">
		
		<script>
		    function fun(){
		        alert('我被點了');
		        alert('我又被點了');
		    }
		    function fun2(){
		        alert('咋老點我?');
		    }
		    //1.獲取light2對象
		    var light2 = document.getElementById("light2");
		    //2.綁定事件
		    light2.onclick = fun2;
		</script>
	</body>
  • 案例:電燈開關
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>電燈開關</title>
</head>
<body>
<img id="light" src="img/off.gif">
<script>
    /*分析:
            1.獲取圖片對象
            2.綁定單擊事件
            3.每次點擊切換圖片
                * 規則:
                    * 如果燈是開的 on,切換圖片爲 off
                    * 如果燈是關的 off,切換圖片爲 on
                * 使用標記flag來完成*/
    //1.獲取圖片對象
    var light = document.getElementById("light");
    var flag = false;//代表燈是滅的。 off圖片
    //2.綁定單擊事件
    light.onclick = function(){
        if(flag){//判斷如果燈是開的,則滅掉
            light.src = "img/off.gif";
            flag = false;
        }else{
            //如果燈是滅的,則打開
            light.src = "img/on.gif";
            flag = true;
        }
    }   
</script>
</body>
</html>

BOM:

  1. BOM概念:Browser Object Model 瀏覽器對象模型
    * 將瀏覽器的各個組成部分封裝成對象。

  2. 組成:
    * Window:窗口對象
    * Navigator:瀏覽器對象
    * Screen:顯示器屏幕對象
    * History:歷史記錄對象
    * Location:地址欄對象

  3. Window:窗口對象
    1. 創建
    2. 方法

    • 與彈出框有關的方法:
      alert() 顯示帶有一段消息和一個確認按鈕的警告框。
      confirm() 顯示帶有一段消息以及確認按鈕和取消按鈕的對話框。
      * 如果用戶點擊確定按鈕,則方法返回true
      * 如果用戶點擊取消按鈕,則方法返回false
      prompt() 顯示可提示用戶輸入的對話框。
      * 返回值:獲取用戶輸入的值

    • 與打開關閉有關的方法:
      close() 關閉瀏覽器窗口。
      * 誰調用我 ,我關誰
      open() 打開一個新的瀏覽器窗口
      * 返回新的Window對象

    • 與定時器有關的方式
      setTimeout() 在指定的毫秒數後調用函數或計算表達式。
      * 參數:
      1. js代碼或者方法對象
      2. 毫秒值
      * 返回值:唯一標識,用於取消定時器
      clearTimeout() 取消由 setTimeout() 方法設置的 timeout。

      setInterval() 按照指定的週期(以毫秒計)來調用函數或計算表達式。
      clearInterval() 取消由 setInterval() 設置的 timeout。

    1. 屬性:
      1. 獲取其他BOM對象:
      * history
      * location
      * Navigator
      * Screen:
      2. 獲取DOM對象
      document
    2. 特點
      • Window對象不需要創建可以直接使用 window使用。 window.方法名();
      • window引用可以省略。 方法名();
  4. Location:地址欄對象
    1. 創建(獲取):
    1.window.location
    2.location
    2. 方法:
    *reload() 重新加載當前文檔。刷新
    3. 屬性
    *href 設置或返回完整的 URL。

  5. History:歷史記錄對象
    1. 創建(獲取):
    window.history
    history
    2. 方法:
    back() 加載 history 列表中的前一個 URL。
    forward() 加載 history 列表中的下一個 URL。
    go(參數) 加載 history 列表中的某個具體頁面。
    * 參數:
    * 正數:前進幾個歷史記錄
    * 負數:後退幾個歷史記錄
    3. 屬性:
    * length 返回當前窗口歷史列表中的 URL 數量。

DOM:

  1. DOM概念: Document Object Model 文檔對象模型
    將標記語言文檔的各個組成部分,封裝爲對象。可以使用這些對象,對標記語言文檔進行CRUD的動態操作

  2. W3C DOM 標準被分爲 3 個不同的部分:

    • 核心 DOM - 針對任何結構化文檔的標準模型
      Document:文檔對象
      Element:元素對象
      Attribute:屬性對象
      Text:文本對象
      Comment:註釋對象
      Node:節點對象,其他5個的父對象
    • XML DOM - 針對 XML 文檔的標準模型
    • HTML DOM - 針對 HTML 文檔的標準模型
  3. 核心DOM模型:
    3.1 Document:文檔對象

    • 創建(獲取):在html dom模型中可以使用window對象來獲取
      * window.document
      * document

    • 方法:

      • 獲取Element對象:
        getElementById() : 根據id屬性值獲取元素對象。id屬性值一般唯一
        getElementsByTagName():根據元素名稱獲取元素對象們。返回值是一個數組
        getElementsByClassName():根據Class屬性值獲取元素對象們。返回值是一個數組
        getElementsByName(): 根據name屬性值獲取元素對象們。返回值是一個數組
      • 創建其他DOM對象:
        createAttribute(name)
        createComment()
        createElement()
        createTextNode()
    1. 屬性

      • Element:元素對象
        1. 獲取/創建:通過document來獲取和創建
        2. 方法:
          removeAttribute():刪除屬性
          setAttribute():設置屬性
      • Node:節點對象,其他5個的父對象
        • 特點:所有dom對象都可以被認爲是一個節點
        • 方法:
          • CRUD dom樹:
            • appendChild():向節點的子節點列表的結尾添加新的子節點。
            • removeChild() :刪除(並返回)當前節點的指定子節點。
            • replaceChild():用新節點替換一個子節點。
        • 屬性:
          parentNode 返回節點的父節點。
    2. HTML DOM

      1. 標籤體的設置和獲取:innerHTML
      2. 使用html元素對象的屬性
      3. 控制元素樣式
        1. 使用元素的style屬性來設置
          如:
          //修改樣式方式1
          div1.style.border = “1px solid red”;
          div1.style.width = “200px”;
          //font-size–> fontSize
          div1.style.fontSize = “20px”;
        2. 提前定義好類選擇器的樣式,通過元素的className屬性來設置其class屬性值。

事件監聽機制:

  1. 事件監聽概念:某些組件被執行了某些操作後,觸發某些代碼的執行。
    事件:某些操作。如: 單擊,雙擊,鍵盤按下了,鼠標移動了
    事件源:組件。如: 按鈕 文本輸入框…
    監聽器:代碼。
    註冊監聽:將事件,事件源,監聽器結合在一起。 當事件源上發生了某個事件,則觸發執行某個監聽器代碼。

  2. 常見的事件:

    • 點擊事件:
      onclick:單擊事件
      ondblclick:雙擊事件

    • 焦點事件
      onblur:失去焦點
      onfocus:元素獲得焦點。

    • 加載事件:
      onload:一張頁面或一幅圖像完成加載。

    • 鼠標事件:
      onmousedown 鼠標按鈕被按下。
      onmouseup 鼠標按鍵被鬆開。
      onmousemove 鼠標被移動。
      onmouseover 鼠標移到某元素之上。
      onmouseout 鼠標從某元素移開。

    • 鍵盤事件:
      onkeydown 某個鍵盤按鍵被按下。
      onkeyup 某個鍵盤按鍵被鬆開。
      onkeypress 某個鍵盤按鍵被按下並鬆開。

    • 選擇和改變
      onchange 域的內容被改變。
      onselect 文本被選中。

    • 表單事件:
      onsubmit 確認按鈕被點擊。
      onreset 重置按鈕被點擊。

上一篇:JavaWeb學習筆記03–JS(1)
下一篇:JavaWeb學習筆記05–Bootstrap

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章