日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript学习知识点归纳

發布時間:2025/7/14 javascript 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript学习知识点归纳 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JavaScript學習包括幾大方面:

  1、基礎語法

  2、JavaScript核心對象

  3、DOM操作

  4、BOM操作

  5、正則表達式

  6、AJAX

  7、面向對象編程

?

以下依次為各版塊相關內容==>

?

  、基礎語法? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

  1、變量:var a = 1,b = 2, c = 3;

  

?

?

?

?

  ?、js的數據類型:number、string、boolean、function、object、undefined(占空間)、null(不占空間);    //typeof()獲取變量的數據類型

  ?、函數:

    (1) 定義函數

     

    (2) 函數執行

        i、主動執行  函數名();

        ii、被動執行  對象.事件 = 函數名(或者匿名函數);

    (3)?

?

?

?

  二、JavaScript核心對象? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

?此處先不撰寫,若有忘記查閱課本相關筆記~~~

?

?

?

?

  三、DOM操作?(兼容性問題很多)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

?  1、DOM獲取頁面的標簽:

    (1) document.getElementById('id');  //根據id返回文檔的第一個對象的引用

    (2) document.getElementsByClassName('class');  //根據class返回文檔的對象集合

    (3) document.getElementsByTagName('h1');  //根據標簽名返回文檔的對象集合

    (4) document.getElementsByName('name');  //根據name返回文檔的集合    <==(適用于表單內)

    拓展:對于id,隨著程序的執行將永遠不變,而其余的都會動態改變

?

?

  2、JavaScript的輸出方式:

    (1) 對象.innerHTML = 'hello world!';  //單引號內為寫入的內容  <== 可讀可寫

?   ? ?(2) alert()confirm()prompt();  //confirm提供OK及cancel的按鈕,prompt為提示輸入框;

   ? ? (3) console.log();  //F12中的調試窗口的輸出函數

  

  3、動態操作結點:

    結點類型有12種,根據.nodeType的值(1~12)從小到大排序:

        1、元素結點;2、屬性結點;3、文本節點;4、CDATA結點;5、實體引用名結點;6、實體名稱結點;

        7、處理指令結點;8、注釋結點;9、文檔結點;10、文檔類型結點;11、文檔片段結點;12、DTD聲明結點;

    (1) 創建結點

        i、document.createElement('div');  <==常用

        ii、document.createTextNode();  

    (2) 刪除結點:

        oDiv.parentNode.removeChild(oDiv);  <==?因原生js中不能直接刪除結點,故需要先找到父節點,再刪除子結點

        removeChild();  //移除當前結點的指定子結點  <== 沒用過

        removeNode();  //移除當前結點  <== 沒用過

    (3) 查找結點

        offsetParent  // 相對于定位過的父結點,沒有定位則父結點為body  <==常用

        offsetLeft / offsetTop  //得到該元素在被定位后的父結點的left、top值   <==為了解決不產生默認的auto值,而得到具體的值

        parentNode(); ? ?//獲取當前結點的父結點

        childNodes();  //獲取當前結點的子結點集合,IE6、7、8只包含元素結點,其余的包含文本和元素結點

        children();   ? //獲取當前結點的子結點集合,但只包含元素結點,推薦使用

        firstChild();  //第一個子結點,IE6、7、8只會是元素結點,其他的可能是文本或元素結點

        firstElementChild();  //IE6、7、8沒有這個屬性,其他的為第一個元素結點,若根本沒有子元素,得到的是null  <==推薦使用

        同上有:lastChild();/lastElementChild();  //最后一個孩子結點

            nextSibling;/nextElementSibling;  //下一個兄弟結點

            previousSibling;/previousElementSibling;  //上一個兄弟結點

    (4) 修改結點

        appendChild();  //在當前結點中追加一個子結點

        replaceChild(index);  //按照索引將當前結點的指定子結點替換成新的結點

        replaceNode();  //將當前結點替換成新的結點

          

    (5) 讀/寫結點的屬性內容的方法

        getAttribute();  //獲取屬性

        setAttribute();  //設置屬性

        removerAttribute();  //移除屬性,當先被修改后再刪除,不會影響原標簽,會自動調到下一個對象

        注意事項:獲取類及標簽是動態的,在每次通過屬性修改會發生響應改變

        innerHTML  //設置或修改當前結點的內容

    (6) 拓展:DOM的寬 / 高問題

        元素的寬高:clientWidth / clientHeight  //width+padding

              offsetWidth / offsetHeight  //width+padding+border

              scrollWidth / scrollHeight  //實際內容的寬度/高度,有滾動條時會比client大

        頁面可視區寬高:docuement.documentElement.clientWidth  //也可用window.innerWidth,IE6、7、8沒有這個屬性

        滾動條的寬度 / 高度:document.documentElement.srcollTop  //或document.body.scrollTop,這個只適用于Chrome瀏覽器        

 

?

  四、BOM操作? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

?本這應是寫完DOM后第二個需要撰寫的博客內容,明天比賽,不得分心, 緩幾天再補充,每天多學習一會,多進步一點,加油加油!

?

?

?

  五、正則表達式? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

?

?

?

?

?

  六、AJAX(異步JavaScript和XML)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

?  AJAX并不是一項新技術,而是將JavaScript、XML、CSS等各種技術融合一起,

  作用為:1、可只更新部分頁面的內容,而不需重新加載整個頁面;2、關鍵詞搜索

  

?

  例1、AJAX與PHP的數據交換代碼:

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 7 <title>被封裝的Ajax函數</title> 8 </head> 9 <body> 10 <script> 11 ajax({ 12 method:'post', 13 url:'post.php', 14 date:{ 15 user:'hyy', 16 pwd:'123456', 17 }, 18 aysn:true, 19 success:function(date){ 20 alert(date); 21 }, 22 error:function(status){ 23 alert('傳輸出錯,狀態碼為:'+status); 24 } 25 }); 26 function ajax(myJson){//傳入一個JSON,其中包括傳送方式、地址、數據包、是否異步狀態、成功執行的回調函數、失敗后執行的回調函數 27 var xhr = new XMLHttpRequest(); 28 var method = myJson.method || 'get';//傳送方式默認為'get' 29 var date = 'user='+myJson.date.user+'&'+'pwd='+myJson.date.pwd; 30 var date1 = 'user=hyy&pwd=123456';//判斷這兩種形式是否一模一樣,參數傳遞發生錯誤時檢查用 31 console.log(date === date1);//同上 32 switch(method){//傳送方式的選擇 33 case 'get': 34 xhr.open('get','get.php?'+date,myJson.aysn); 35 xhr.setRequestHeader('content-type','application/x-www-form-urlencoded'); 36 xhr.send(); 37 console.log('執行了GET'); 38 break; 39 case 'post': 40 xhr.open('post',myJson.url,myJson.aysn); 41 xhr.setRequestHeader('content-type','application/x-www-form-urlencoded'); 42 xhr.send(date); 43 console.log('執行了POST'); 44 break; 45 } 46 xhr.onreadystatechange = function(){ 47 if(xhr.readyState == 4){//響應確認 48 if(xhr.status >=200 && xhr.status <300){//響應執行 49 myJson.success(xhr.responseText);//執行成功后的回調函數 50 } 51 else{ 52 myJson.error(xhr.status);//執行失敗后的回調函數,返回狀態碼 53 } 54 } 55 } 56 } 57 </script> 58 </body> 59 </html> View Code

?

1 <?php 2 3 header('content-type:text/html;charset="utf-8'); 4 $user = $_GET['user']; 5 $pwd = $_GET['pwd']; 6 echo "您的用戶名是:{$user},密碼是:{$pwd}"; 7 8 /* 9 $user = $_POST['user']; 10 $pwd = $_POST['pwd']; 11 echo "您的用戶名是:{$user},密碼是:{$pwd}"; 12 */ 13 14 ?> View Code

?

?  例2、AJAX+JSP調用百度關鍵詞庫:

?

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 7 <title>跨域調用百度搜索數據</title> 8 <style> 9 * { 10 margin: 0; 11 padding: 0; 12 } 13 #wrap { 14 width: 400px; 15 height: 43px; 16 margin: 100px auto; 17 font-family: 'Microsoft yahei'; 18 position: relative; 19 overflow: flex; 20 } 21 #search { 22 width: 400px; 23 height: 40px; 24 letter-spacing: 1px; 25 text-indent: 10px; 26 font-size: 18px; 27 font-family: 'Microsoft yahei'; 28 } 29 #list { 30 width: 402px; 31 border: 1px solid #999; 32 border-top: none; 33 position: absolute; 34 top: 43px; 35 display: none; 36 } 37 #list ul li { 38 width: 100%; 39 height: 25px; 40 line-height: 25px; 41 font-size: 16px; 42 list-style-type: none; 43 text-indent: 10px; 44 } 45 #list ul li a { 46 text-decoration: none; 47 display: block; 48 color: #333; 49 } 50 #list ul li a:hover { 51 background-color: #ddd; 52 } 53 </style> 54 </head> 55 <body> 56 <div id="wrap"> 57 <input type="text" id="search"> 58 <div id="list"> 59 <ul> 60 <!-- <li><a href="">聯想詞1</a></li> 61 <li><a href="">聯想詞2</a></li> 62 <li><a href="">聯想詞3</a></li> 63 <li><a href="">聯想詞4</a></li> 64 <li><a href="">聯想詞5</a></li> --> 65 </ul> 66 </div> 67 </div> 68 69 <script> 70 var oSearch = document.getElementById('search'); 71 var oList = document.getElementById('list'); 72 var oUl = oList.getElementsByTagName('ul')[0]; 73 oSearch.onkeydown = function(){//通過比較,down比up、press效果更好 74 var value = this.value; 75 // oSearch.style.borderColor = 'rgb(71,145,255)'; 76 if(value){//如果搜索框內有值 77 oList.style.display = 'block'; 78 var oS = document.createElement('script'); 79 oS.src = 'https://www.baidu.com/sugrec?&prod=pc&wd='+value+'&cb=fn'; 80 document.body.appendChild(oS); 81 } 82 else{ 83 oList.style.display = 'none'; 84 } 85 } 86 oSearch.onmouseleave = function(){ 87 oList.style.display = 'none'; 88 } 89 function fn(myJson){ 90 oUl.innerHTML = ''; 91 for (var i =0;i<myJson.g.length;i++){ 92 var oLi = document.createElement('li'); 93 oLi.innerHTML = '<a href='+'https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd='+myJson.g[i].q+' target="_blank">'+myJson.g[i].q+'</a>'; 94 console.log(myJson.g[i].q); 95 oUl.appendChild(oLi); 96 } 97 }; 98 99 </script> 100 </body> 101 </html> View Code

?

?

?

  七、面向對象編程? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

?

轉載于:https://www.cnblogs.com/carle/p/10789609.html

總結

以上是生活随笔為你收集整理的JavaScript学习知识点归纳的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。