<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        JavaScript學習總結(一) ECMAScript、BOM、DOM(核心、瀏覽器對象模型與文檔對象模型)

        來源:懂視網 責編:小采 時間:2020-11-27 22:21:57
        文檔

        JavaScript學習總結(一) ECMAScript、BOM、DOM(核心、瀏覽器對象模型與文檔對象模型)

        JavaScript學習總結(一) ECMAScript、BOM、DOM(核心、瀏覽器對象模型與文檔對象模型):一、JavaScript簡介 JavaScript是一種解釋執行的腳本語言,是一種動態類型、弱類型、基于原型的語言,內置支持類型,它遵循ECMAScript標準。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言,主要用來給HTML增加動態功能。
        推薦度:
        導讀JavaScript學習總結(一) ECMAScript、BOM、DOM(核心、瀏覽器對象模型與文檔對象模型):一、JavaScript簡介 JavaScript是一種解釋執行的腳本語言,是一種動態類型、弱類型、基于原型的語言,內置支持類型,它遵循ECMAScript標準。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言,主要用來給HTML增加動態功能。

        一、JavaScript簡介

        JavaScript是一種解釋執行的腳本語言,是一種動態類型、弱類型、基于原型的語言,內置支持類型,它遵循ECMAScript標準。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言,主要用來給HTML增加動態功能。

        幾乎所有主流的語言都可以編譯為JavaScript,進而能夠在所有平臺上的瀏覽器中執行,這也體現了JavaScript的強大性和在Web開發中的重要性。如Blade:一個Visual Studio擴展,可以將C#代碼轉換為JavaScript,Ceylon:一個可編譯為JavaScript的、模塊化的、靜態類型JVM語言。

        JavaScript是一種可以同時運行在前端與后臺的語言,如Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運行環境(類似Java或.NET)。 Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效。

        1.1、javascript組成

        ECMAScript,描述了該語言的語法和基本對象,如類型、運算、流程控制、面向對象、異常等。

        文檔對象模型(DOM),描述處理網頁內容的方法和接口。

        瀏覽器對象模型(BOM),描述與瀏覽器進行交互的方法和接口。

        JavaScript由對象組成,一切皆為對象。

        1.2、JavaScript腳本語言特點

        a)、解釋型的腳本語言。JavaScript是一種解釋型的腳本語言,C、C++等語言先編譯后執行,而JavaScript是在程序的運行過程中逐行進行解釋。

        基于對象。JavaScript是一種基于對象的腳本語言,它不僅可以創建對象,也能使用現有的對象。

        b)、簡單。JavaScript語言中采用的是弱類型的變量類型,對使用的數據類型未做出嚴格的要求,是基于Java基本語句和控制的腳本語言,其設計簡單緊湊。

        c)、動態性。JavaScript是一種采用事件驅動的腳本語言,它不需要經過Web服務器就可以對用戶的輸入做出響應。在訪問一個網頁時,鼠標在網頁中進行鼠標點擊或上下移、窗口移動等操作JavaScript都可直接對這些事件給出相應的響應。

        d)、跨平臺性。JavaScript腳本語言不依賴于操作系統,僅需要瀏覽器的支持。因此一個JavaScript腳本在編寫后可以帶到任意機器上使用,前提上機器上的瀏覽器支 持JavaScript腳本語言,目前JavaScript已被大多數的瀏覽器所支持。

        二、ECMAScript(JavaScript核心與語法)

        2.1、ECMAScript定義

        1)、ECMAScript是一個標準(歐洲計算機制造商協會),JavaScript只是它的一個實現,其他實現包括ActionScript(Flash腳本)

        2)、ECMAScript可以為不同種類的宿主環境提供核心的腳本編程能力,即ECMAScript不與具體的宿主環境相綁定,如JavaScript的宿主環境是瀏覽器,AS的宿主環境是Flash。、

        3)、ECMAScript描述了以下內容:語法、類型、語句、關鍵字、保留字、運算符、對象等

        2.2、數據類型

        在JS中使用var關鍵詞聲明變量,變量的類型會根據其所賦值來決定(動態類型)。JS中數據類型分為原始數據類型(5種)和引用數據類型(Object類型)。

        1)5種原始數據類型:Undefined、Null、Boolean、Number和String。需要注意的是JS中字符串屬于原始數據類型。

        2)typeof運算符:查看變量類型,對變量或值調用typeof運算符將返回下列值之一:

      1. undefined – 如果變量是 Undefined 類型的
      2. boolean – 如果變量是 Boolean 類型的
      3. number – 如果變量是 Number 類型的
      4. string – 如果變量是 String 類型的
      5. object – 如果變量是一種引用類型或 Null 類型的
      6. 3)通過instanceof 運算符解決引用類型判斷問題

        4)null 被認為是對象的占位符,typeof運算符對于null值返回“object”。

        5)原始數據類型和引用數據類型變量在內存中的存放如下:

        memory of datatype in js

        6)JS中對類型的定義:一組值的集合。如Boolean類型的值有兩個:true、false。Undefined和Null 類型都只有一個值,分別是undefined和null。

        Null 類型只有一個值,就是 null ; Undefined 類型也只有一個值,即 undefined 。 null 和 undefined 都可以作為字面量(literal)在 JavaScript 代碼中直接使用。

        null 與對象引用有關系,表示為空或不存在的對象引用。當聲明一個變量卻沒有給它賦值的時候,它的值就是 undefined 。

        undefined 的值會出現在如下情況:

        從一個對象中獲取某個屬性,如果該對象及其 prototype 鏈 中的對象都沒有該屬性的時候,該屬性的值為 undefined 。

        一個 function 如果沒有顯式的通過 return 來返回值給其調用者的話,其返回值就是 undefined 。有一個特例就是在使用new的時候。

        JavaScript 中的 function 可以聲明任意個形式參數,當該 function 實際被調用的時候,傳入的參數的個數如果小于聲明的形式參數,那么多余的形式參數的值為 undefined 。

        示例:

        <!DOCTYPE html>
        <html>
        
         <head>
         <meta charset="UTF-8">
         <title></title>
         </head>
        
         <body>
         <script>
         //js對象
         var user = {
         name: "張學友",
         address: "中國香港"
         };
         console.log(user.age); //訪問對象中的屬性,未定義
         
         var i;
         console.log(i); //變量未賦值
         
         function f(n1){
         console.log(n1);
         }
         var result=f(); //參數未賦值
         
         console.log(result); //當函數沒有返回值時為undefined
         
         </script>
         </body>
        
        </html>

        結果:

        關于 null 和 undefined 有一些有趣的特性:

        如果對值為 null 的變量使用 typeof 操作符的話,得到的結果是 object ;

        而對 undefined 的值使用 typeof,得到的結果是 undefined 。

        如 typeof null === "object" //true; typeof undefined === "undefined" //true null == undefined //true,但是 null !== undefined //true

        示例:

        <!DOCTYPE html>
        <html>
        
         <head>
         <meta charset="UTF-8">
         <title></title>
         </head>
        
         <body>
         <script>
         //js對象
         var user = {
         name: "張學友",
         address: "中國香港"
         };
         console.log(typeof(user));
         console.log(typeof(null));
         console.log(typeof(undefined));
         console.log(user.name);
         console.log(user.age);
         
         if(user.age){
         console.log(user.age);
         }else{
         console.log("沒有age屬性");
         }
         //為false的情況
         var i;
         console.log(!!"");
         console.log(!!0);
         console.log(!!+0);
         console.log(!!-0);
         console.log(!!NaN);
         console.log(!!null);
         console.log(!!undefined);
         console.log(typeof(i));
         console.log(!!i);
         console.log(false);
         //是否不為數字,is Not a Number
         console.log(isNaN("Five"));
         console.log(isNaN("5"));
         </script>
         </body>
        
        </html>

        結果:

        7)、 boolean類型的特殊性

        8)、== 與 ===

        JavaScript 中有兩個判斷值是否相等的操作符,== 與 === 。兩者相比,== 會做一定的類型轉換;而 === 不做類型轉換,所接受的相等條件更加嚴格。

        ===比較時會比較類型

        當然與之對應的就是!=與!==

        盡量使用===而不要使用==

        console.log("5"==5); //true
        console.log("5"===5); //false
        console.log("5"!=5); //false
        console.log("5"!==5); //true

        2.3、局部變量和全局變量

        在函數中聲明的變量只能在函數中使用,當你退出函數時,變量就會被釋放,這種變量被稱為局部變量。因為每個局部變量只在各自的函數中有效,所以你可以在不同的函數中使用名稱相同的變量。

        如果在函數之外聲明變量,那么頁面中所有的函數都可以使用它。在全局變量被聲明后,它們就開始生效了。在網頁被關閉后,變量才會失效。

        注意:JS語言中,在代碼塊中聲明的變量屬于全局變量。

        JavaScript是一種對數據類型變量要求不太嚴格的語言,所以不必聲明每一個變量的類型,變量聲明盡管不是必須的,但在使用變量之前先進行聲明是一種好的習慣。可以使用 var 語句來進行變量聲明。如:var men = true; // men 中存儲的值為 Boolean 類型。

        變量命名

        JavaScript 是一種區分大小寫的語言,因此將一個變量命名為best和將其命名為Best是不一樣的。 
        另外,變量名稱的長度是任意的,但必須遵循以下規則:

      7.  1.第一個字符必須是一個字母(大小寫均可)、或一個下劃線(_)或一個美元符 ($)。
      8.  2.后續的字符可以是字母、數字、下劃線或美元符。
      9.  3.變量名稱不能是保留字。
      10. 可以不使用var定義變量,但這樣定義的變量是全局變量。

         示例:

        <!DOCTYPE html>
        <html>
         <head>
         <meta charset="UTF-8">
         <title></title>
         </head>
         <body>
         <script>
         function a(){
         var n1=1;
         n2=2; //聲明n2時未使用var,所以n2是全局變量,盡量避免
         console.log(n1+","+n2);
         }
         a();
         console.log(n2);
         console.log(window.n2);
         console.log(window.n1);
         console.log(n1);
         </script>
         </body>
        
        </html>

        結果:

        2.4、數組(Array)

        ①js中,數組元素類型可以不一致。

        ②js中,數組長度可以動態改變。

        ③接著上述代碼,typeof arr 和 arr instanceof Array 分別輸出object和true。

        console.log(typeof(names)); //object
        console.log(names instanceof Array); //true
        console.log("" instanceof String); //false 不是對象類型
        console.log(true instanceof Boolean); //false

        數組對象與方法

        Array 對數組的內部支持
        Array.concat( ) 連接數組
        Array.join( ) 將數組元素連接起來以構建一個字符串
        Array.length 數組的大小
        Array.pop( ) 刪除并返回數組的最后一個元素
        Array.push( ) 給數組添加元素
        Array.reverse( ) 顛倒數組中元素的順序
        Array.shift( ) 將元素移出數組
        Array.slice( ) 返回數組的一部分
        Array.sort( ) 對數組元素進行排序
        Array.splice( ) 插入、刪除或替換數組的元素
        Array.toLocaleString( ) 把數組轉換成局部字符串
        Array.toString( ) 將數組轉換成一個字符串
        Array.unshift( ) 在數組頭部插入一個元素

        2.4.1、創建

        var arrayObj = new Array();
        var arrayObj = new Array([size]);
        var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]);

        示例:

        var array11 = new Array(); //空數組
        var array12 = new Array(5); //指定長度,可越界
        var array13 = new Array("a","b","c",1,2,3,true,false); //定義并賦值
        var array14=[]; //空數組,語法糖
        var array15=[1,2,3,"x","y"]; //定義并賦值

        2.4.2、訪問與修改

        var testGetArrValue=arrayObj[1];

        arrayObj[1]= "值";

        array12[8]="hello array12"; //賦值或修改
        console.log(array12[8]); //取值
        //遍歷
        for (var i = 0; i < array13.length; i++) {
         console.log("arrayl3["+i+"]="+array13[i]);
        }
        //枚舉
        for(var i in array15){ 
         console.log(i+"="+array15[i]); //此處的i是下標
        }

        結果:

        2.4.3、添加元素

        將一個或多個新元素添加到數組未尾,并返回數組新長度

        arrayObj. push([item1 [item2 [. . . [itemN ]]]]);

        將一個或多個新元素添加到數組開始,數組中的元素自動后移,返回數組新長度

        arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);

        將一個或多個新元素插入到數組的指定位置,插入位置的元素自動后移,返回被刪除元素數組,deleteCount要刪除的元素個數

        arrayObj.splice(insertPos,deleteCount,[item1[, item2[, . . . [,itemN]]]])

        示例代碼:

        //4.3、添加元素
         var array31=[5,8];
         //添加到末尾
         array31.push(9);
         var len=array31.push(10,11);
         console.log("長度為:"+len+"——"+array31);
         //添加到開始
         array31.unshift(4);
         var len=array31.unshift(1,2,3);
         console.log("長度為:"+len+"——"+array31);
         //添加到中間
         var len=array31.splice(5,1,6,7); //從第5位開始插入,刪除第5位后的1個元素,返回被刪除元素
         console.log("被刪除:"+len+"——"+array31);

        運行結果:

        2.4.4、刪除

        移除最后一個元素并返回該元素值

        arrayObj.pop();

        移除最前一個元素并返回該元素值,數組中元素自動前移

        arrayObj.shift();

        刪除從指定位置deletePos開始的指定數量deleteCount的元素,數組形式返回所移除的元素

        arrayObj.splice(deletePos,deleteCount);

        示例:

        //4.4、刪除
         var array41=[1,2,3,4,5,6,7,8];
         console.log("array41:"+array41);
         //刪除最后一個元素,并返回
         var e=array41.pop();
         console.log("被刪除:"+e+"——"+array41);
         //刪除首部元素,并返回
         var e=array41.shift();
         console.log("被刪除:"+e+"——"+array41);
         //刪除指定位置與個數
         var e=array41.splice(1,4); //從索引1開始刪除4個
         console.log("被刪除:"+e+"——"+array41);

        結果:

        2.4.5、截取和合并

        以數組的形式返回數組的一部分,注意不包括 end 對應的元素,如果省略 end 將復制 start 之后的所有元素

        arrayObj.slice(start, [end]);

        將多個數組(也可以是字符串,或者是數組和字符串的混合)連接為一個數組,返回連接好的新的數組

        arrayObj.concat([item1[, item2[, . . . [,itemN]]]]);

        示例:

        //4.5、截取和合并
         var array51=[1,2,3,4,5,6];
         var array52=[7,8,9,0,"a","b","c"];
         //截取,切片
         var array53=array51.slice(2); //從第3個元素開始截取到最后
         console.log("被截取:"+array53+"——"+array51);
         var array54=array51.slice(1,4); //從第3個元素開始截取到索引號為3的元素
         console.log("被截取:"+array54+"——"+array51);
         //合并
         var array55=array51.concat(array52,["d","e"],"f","g");
         console.log("合并后:"+array55);

        結果:

        2.4.6、拷貝

        返回數組的拷貝數組,注意是一個新的數組,不是指向

        arrayObj.slice(0);

        返回數組的拷貝數組,注意是一個新的數組,不是指向

        arrayObj.concat();

        因為數組是引用數據類型,直接賦值并沒有達到真正實現拷貝,地址引用,我們需要的是深拷貝。

        2.4.7、排序

        反轉元素(最前的排到最后、最后的排到最前),返回數組地址

        arrayObj.reverse();

        對數組元素排序,返回數組地址

        arrayObj.sort();

        arrayObj.sort(function(obj1,obj2){});

        示例:

        var array71=[4,5,6,1,2,3];
         array71.sort();
         console.log("排序后:"+array71);
         var array72=[{name:"tom",age:19},{name:"jack",age:20},{name:"lucy",age:18}];
         array72.sort(function(user1,user2){
         return user1.age<user2.age;
         });
         console.log("排序后:");
         for(var i in array72) console.log(array72[i].name+","+array72[i].age);

        結果:

        2.4.8、合并成字符

        返回字符串,這個字符串將數組的每一個元素值連接在一起,中間用 separator 隔開。

        arrayObj.join(separator);

        示例代碼:

        //4.8、合并成字符與將字符拆分成數組
         var array81=[1,3,5,7,9];
         var ids=array81.join(",");
         console.log(ids);
         
         //拆分成數組
         var text="hello nodejs and angular";
         var array82=text.split(" ");
         console.log(array82);

        運行結果:

        所有代碼:

        <!DOCTYPE html>
        <html>
        
         <head>
         <meta charset="UTF-8">
         <title>數組操作</title>
         </head>
        
         <body>
         <script type="text/javascript">
         //4.1、創建
         var array11 = new Array(); //空數組
         var array12 = new Array(5); //指定長度,可越界
         var array13 = new Array("a","b","c",1,2,3,true,false); //定義并賦值
         var array14=[]; //空數組,語法糖
         var array15=[1,2,3,"x","y"]; //定義并賦值
         
         //4.2、訪問與修改
         array12[8]="hello array12"; //賦值或修改
         console.log(array12[8]); //取值
         //遍歷
         for (var i = 0; i < array13.length; i++) {
         //console.log("arrayl3["+i+"]="+array13[i]);
         }
         //枚舉
         for(var i in array15){ 
         //console.log(i+"="+array15[i]); //此處的i是下標
         }
         
         //4.3、添加元素
         var array31=[5,8];
         //添加到末尾
         array31.push(9);
         var len=array31.push(10,11);
         console.log("長度為:"+len+"——"+array31);
         //添加到開始
         array31.unshift(4);
         var len=array31.unshift(1,2,3);
         console.log("長度為:"+len+"——"+array31);
         //添加到中間
         var len=array31.splice(5,1,6,7); //從第5位開始插入,刪除第5位后的1個元素,返回被刪除元素
         console.log("被刪除:"+len+"——"+array31);
         
         //4.4、刪除
         var array41=[1,2,3,4,5,6,7,8];
         console.log("array41:"+array41);
         //刪除最后一個元素,并返回
         var e=array41.pop();
         console.log("被刪除:"+e+"——"+array41);
         //刪除首部元素,并返回
         var e=array41.shift();
         console.log("被刪除:"+e+"——"+array41);
         //刪除指定位置與個數
         var e=array41.splice(1,4); //從索引1開始刪除4個
         console.log("被刪除:"+e+"——"+array41);
         
         //4.5、截取和合并
         var array51=[1,2,3,4,5,6];
         var array52=[7,8,9,0,"a","b","c"];
         //截取,切片
         var array53=array51.slice(2); //從第3個元素開始截取到最后
         console.log("被截取:"+array53+"——"+array51);
         var array54=array51.slice(1,4); //從第3個元素開始截取到索引號為3的元素
         console.log("被截取:"+array54+"——"+array51);
         //合并
         var array55=array51.concat(array52,["d","e"],"f","g");
         console.log("合并后:"+array55);
         
         //4.7、排序
         var array71=[4,5,6,1,2,3];
         array71.sort();
         console.log("排序后:"+array71);
         var array72=[{name:"tom",age:19},{name:"jack",age:20},{name:"lucy",age:18}];
         array72.sort(function(user1,user2){
         return user1.age<user2.age;
         });
         console.log("排序后:");
         for(var i in array72) console.log(array72[i].name+","+array72[i].age);
         
         //4.8、合并成字符與將字符拆分成數組
         var array81=[1,3,5,7,9];
         var ids=array81.join(",");
         console.log(ids);
         
         //拆分成數組
         var text="hello nodejs and angular";
         var array82=text.split(" ");
         console.log(array82);
         
         </script>
         </body>
        
        </html>

        2.5、正則表達式RegExp

        RegExp 對象表示正則表達式,它是對字符串執行模式匹配的強大工具。

        RegExp對象:該對象代表正則表達式,用于字符串匹配

        ① 兩種RegExp對象創建方式:

        方式一,new 一個RegExp對象:var regExp = new RegExp(“[a-zA-Z0-9]{3,8}”);

        方式二,通過字面量賦值:var regExp = /^[a-zA-Z0-9]{3,8}$/;

        ② 正則表達式的具體寫法使用時查詢文檔。

        ③ 常用方法:test(string),返回true或false。

        直接量語法

        /pattern/attributes

        創建 RegExp 對象的語法:

        new RegExp(pattern, attributes);

        參數

        參數 pattern 是一個字符串,指定了正則表達式的模式或其他正則表達式。

        參數 attributes 是一個可選的字符串,包含屬性 "g"、"i" 和 "m",分別用于指定全局匹配、區分大小寫的匹配和多行匹配。ECMAScript 標準化之前,不支持 m 屬性。如果 pattern 是正則表達式,而不是字符串,則必須省略該參數。

        返回值

        一個新的 RegExp 對象,具有指定的模式和標志。如果參數 pattern 是正則表達式而不是字符串,那么 RegExp() 構造函數將用與指定的 RegExp 相同的模式和標志創建一個新的 RegExp 對象。

        如果不用 new 運算符,而將 RegExp() 作為函數調用,那么它的行為與用 new 運算符調用時一樣,只是當 pattern 是正則表達式時,它只返回 pattern,而不再創建一個新的 RegExp 對象。

        拋出

        SyntaxError - 如果 pattern 不是合法的正則表達式,或 attributes 含有 "g"、"i" 和 "m" 之外的字符,拋出該異常。

        TypeError - 如果 pattern 是 RegExp 對象,但沒有省略 attributes 參數,拋出該異常。

        修飾符

        修飾符 描述
        i 執行對大小寫不敏感的匹配。
        g 執行全局匹配(查找所有匹配而非在找到第一個匹配后停止)。
        m 執行多行匹配。

        方括號

        方括號用于查找某個范圍內的字符:

        表達式 描述
        [abc] 查找方括號之間的任何字符。
        [^abc] 查找任何不在方括號之間的字符。
        [0-9] 查找任何從 0 至 9 的數字。
        [a-z] 查找任何從小寫 a 到小寫 z 的字符。
        [A-Z] 查找任何從大寫 A 到大寫 Z 的字符。
        [A-z] 查找任何從大寫 A 到小寫 z 的字符。
        [adgk] 查找給定集合內的任何字符。
        [^adgk] 查找給定集合外的任何字符。
        (red|blue|green) 查找任何指定的選項。

        元字符

        元字符(Metacharacter)是擁有特殊含義的字符:

        元字符 描述
        . 查找單個字符,除了換行和行結束符。
        \w 查找單詞字符。
        \W 查找非單詞字符。
        \d 查找數字。
        \D 查找非數字字符。
        \s 查找空白字符。
        \S 查找非空白字符。
        \b 匹配單詞邊界。
        \B 匹配非單詞邊界。
        \0 查找 NUL 字符。
        \n 查找換行符。
        \f 查找換頁符。
        \r 查找回車符。
        \t 查找制表符。
        \v 查找垂直制表符。
        \xxx 查找以八進制數 xxx 規定的字符。
        \xdd 查找以十六進制數 dd 規定的字符。
        \uxxxx 查找以十六進制數 xxxx 規定的 Unicode 字符。

        量詞

        量詞 描述
        n+ 匹配任何包含至少一個 n 的字符串。
        n* 匹配任何包含零個或多個 n 的字符串。
        n? 匹配任何包含零個或一個 n 的字符串。
        n{X} 匹配包含 X 個 n 的序列的字符串。
        n{X,Y} 匹配包含 X 至 Y 個 n 的序列的字符串。
        n{X,} 匹配包含至少 X 個 n 的序列的字符串。
        n$ 匹配任何結尾為 n 的字符串。
        ^n 匹配任何開頭為 n 的字符串。
        ?=n 匹配任何其后緊接指定字符串 n 的字符串。
        ?!n 匹配任何其后沒有緊接指定字符串 n 的字符串。

        RegExp 對象屬性

        屬性 描述 FF IE
        global RegExp 對象是否具有標志 g。 1 4
        ignoreCase RegExp 對象是否具有標志 i。 1 4
        lastIndex 一個整數,標示開始下一次匹配的字符位置。 1 4
        multiline RegExp 對象是否具有標志 m。 1 4
        source 正則表達式的源文本。 1 4

        RegExp 對象方法

        方法 描述 FF IE
        compile 編譯正則表達式。 1 4
        exec 檢索字符串中指定的值。返回找到的值,并確定其位置。 1 4
        test 檢索字符串中指定的值。返回 true 或 false。 1 4

        示例:

        <!DOCTYPE html>
        <html>
         <head>
         <meta charset="UTF-8">
         <title></title>
         </head>
         <body>
         <script type="text/javascript">
         var reg1=/\d{2}/igm; //定義正則
         var reg2=new RegExp("\D{2}","igm"); //定義正則
         
         //驗證郵政編碼
         var reg3=/^\d{6}$/igm;
         console.log(reg3.test("519000")); //true
         console.log(reg3.test("abc123")); //false
         
         //查找同時出現3個字母的索引
         var reg4=new RegExp("[A-Za-z]{3}","igm"); 
         console.log(reg4.exec("ab1cd2efg3lw3sd032kjsdljkf23sdlk"));
         //["efg", index: 6, input: "ab1cd2efg3lw3sd032kjsdljkf23sdlk"]
         
         //身份證
         //411081199004235955 41108119900423595x 41108119900423595X
         
         //郵箱
         //zhangguo123@qq.com zhangguo@sina.com.cn
         </script>
         </body>
        </html>

        結果:

        支持正則表達式的 String 對象的方法

        方法 描述 FF IE
        search 檢索與正則表達式相匹配的值。 1 4
        match 找到一個或多個正則表達式的匹配。 1 4
        replace 替換與正則表達式匹配的子串。 1 4
        split 把字符串分割為字符串數組。 1 4

        示例:

        <!DOCTYPE html>
        <html>
         <head>
         <meta charset="UTF-8">
         <title></title>
         </head>
         <body>
         <script type="text/javascript">
         var reg1=/\d{2}/igm;
         console.log("kjds23sd9we23sdoi1we230we12sd".search(reg1)); //4 第一次匹配成功的索引
         console.log("kjds23sd9we56sdoi1we780we98sd".match(reg1)); //["23", "56", "78", "98"]
         
         //刪除所有數字
         console.log("kjds23sd9we56sdoi1we780we98sd".replace(/\d/igm,"")); //kjdssdwesdoiwewesd
         
         //所有數字增加大括號,反向引用 $組號 括號用于分組
         console.log("kjds23sd9we56sdoi1we780we98sd".replace(/(\d+)/igm,"\{$1\}")); //kjds{23}sd{9}we{56}sdoi{1}we{780}we{98}sd
         
         //拆分
         console.log("kjds23sd9we56sdoi1we780we98sd".split(/[w\d]+/)); //["kjds", "sd", "e", "sdoi", "e", "e", "sd"]
         
         
         //ID (虛擬的)
         //411081197104235955 411081198600423595x 41108119880423595X
         //^\d{17}[xX0-9]{1}$
         
         //Email
         //zhangguo123@qq.com zhangguo@sina.com.cn
         //\w+@\w+\.\w{2,5}(\.\w{2,5})?
         </script>
         </body>
        </html>

        結果:

        2.6、字符串對象String

        字符串是 JavaScript 的一種基本的數據類型。
        String 對象的 length 屬性聲明了該字符串中的字符數。
        String 類定義了大量操作字符串的方法,例如從字符串中提取字符或子串,或者檢索字符或子串。
        需要注意的是,JavaScript 的字符串是不可變的(immutable),String 類定義的方法都不能改變字符串的內容。像 String.toUpperCase() 這樣的方法,返回的是全新的字符串,而不是修改原始字符串。

        String 對象屬性

        屬性 描述
        constructor 對創建該對象的函數的引用
        length 字符串的長度
        prototype 允許您向對象添加屬性和方法

        String 對象方法

        方法 描述
        anchor() 創建 HTML 錨。
        big() 用大號字體顯示字符串。
        blink() 顯示閃動字符串。
        bold() 使用粗體顯示字符串。
        charAt() 返回在指定位置的字符。
        charCodeAt() 返回在指定的位置的字符的 Unicode 編碼。
        concat() 連接字符串。
        fixed() 以打字機文本顯示字符串。
        fontcolor() 使用指定的顏色來顯示字符串。
        fontsize() 使用指定的尺寸來顯示字符串。
        fromCharCode() 從字符編碼創建一個字符串。
        indexOf() 檢索字符串。
        italics() 使用斜體顯示字符串。
        lastIndexOf() 從后向前搜索字符串。
        link() 將字符串顯示為鏈接。
        localeCompare() 用本地特定的順序來比較兩個字符串。
        match() 找到一個或多個正則表達式的匹配。
        replace() 替換與正則表達式匹配的子串。
        search() 檢索與正則表達式相匹配的值。
        slice() 提取字符串的片斷,并在新的字符串中返回被提取的部分。
        small() 使用小字號來顯示字符串。
        split() 把字符串分割為字符串數組。
        strike() 使用刪除線來顯示字符串。
        sub() 把字符串顯示為下標。
        substr() 從起始索引號提取字符串中指定數目的字符。
        substring() 提取字符串中兩個指定的索引號之間的字符。
        sup() 把字符串顯示為上標。
        toLocaleLowerCase() 把字符串轉換為小寫。
        toLocaleUpperCase() 把字符串轉換為大寫。
        toLowerCase() 把字符串轉換為小寫。
        toUpperCase() 把字符串轉換為大寫。
        toSource() 代表對象的源代碼。
        toString() 返回字符串。
        valueOf() 返回某個字符串對象的原始值。

        2.7、時間日期對象Date

        Date 對象用于處理日期和時間。

        創建 Date 對象的語法:

        var myDate=new Date();

        注釋:Date 對象會自動把當前日期和時間保存為其初始值。

        Date 對象屬性

        屬性 描述
        constructor 返回對創建此對象的 Date 函數的引用。
        prototype 使您有能力向對象添加屬性和方法。

        Date 對象方法

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        JavaScript學習總結(一) ECMAScript、BOM、DOM(核心、瀏覽器對象模型與文檔對象模型)

        JavaScript學習總結(一) ECMAScript、BOM、DOM(核心、瀏覽器對象模型與文檔對象模型):一、JavaScript簡介 JavaScript是一種解釋執行的腳本語言,是一種動態類型、弱類型、基于原型的語言,內置支持類型,它遵循ECMAScript標準。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言,主要用來給HTML增加動態功能。
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲欧美中文日韩视频| 亚洲国产综合第一精品小说| 亚洲国产欧美一区二区三区| 国产麻豆视频免费观看| 亚洲美女一区二区三区| 57pao一国产成视频永久免费| 亚洲av日韩av不卡在线观看| 日本一区二区免费看| 97se亚洲综合在线| 人与禽交免费网站视频| 亚洲人成7777影视在线观看| AV免费网址在线观看| MM1313亚洲精品无码久久| 免费又黄又爽又猛的毛片| yellow视频免费在线观看| 亚洲日产无码中文字幕| 99爱视频99爱在线观看免费| 亚洲第一页在线观看| 日韩欧美一区二区三区免费观看| 亚洲人成77777在线观看网| 国产精品无码一二区免费| 一级毛片高清免费播放| 91亚洲国产在人线播放午夜| 日韩毛片免费无码无毒视频观看| 亚洲gay片在线gv网站| 亚洲精品无码av天堂| 人妻无码久久一区二区三区免费| 亚洲自国产拍揄拍| 亚洲国产精品尤物yw在线 | 亚洲精品美女久久久久99小说| 亚洲日韩在线观看免费视频| 亚洲尹人九九大色香蕉网站| 午夜免费福利网站| 99视频在线观看免费| 亚洲中文字幕久久无码| 精品国产亚洲一区二区在线观看| 日韩免费高清大片在线| 粉色视频免费入口| 亚洲二区在线视频| 久久久久无码专区亚洲av| 亚洲视频在线免费播放|
      11. <bdo id="q2w2s"><tbody id="q2w2s"></tbody></bdo>
        <rt id="q2w2s"><tr id="q2w2s"></tr></rt>
        方法 描述
        Date() 返回當日的日期和時間。
        getDate() 從 Date 對象返回一個月中的某一天 (1 ~ 31)。
        getDay() 從 Date 對象返回一周中的某一天 (0 ~ 6)。
        getMonth() 從 Date 對象返回月份 (0 ~ 11)。
        getFullYear() 從 Date 對象以四位數字返回年份。
        getYear() 請使用 getFullYear() 方法代替。
        getHours() 返回 Date 對象的小時 (0 ~ 23)。
        getMinutes() 返回 Date 對象的分鐘 (0 ~ 59)。
        getSeconds() 返回 Date 對象的秒數 (0 ~ 59)。
        getMilliseconds() 返回 Date 對象的毫秒(0 ~ 999)。
        getTime() 返回 1970 年 1 月 1 日至今的毫秒數。
        getTimezoneOffset() 返回本地時間與格林威治標準時間 (GMT) 的分鐘差。
        getUTCDate() 根據世界時從 Date 對象返回月中的一天 (1 ~ 31)。
        getUTCDay() 根據世界時從 Date 對象返回周中的一天 (0 ~ 6)。
        getUTCMonth() 根據世界時從 Date 對象返回月份 (0 ~ 11)。
        getUTCFullYear() 根據世界時從 Date 對象返回四位數的年份。
          <button id="q2w2s"></button>
        • <code id="q2w2s"><tr id="q2w2s"></tr></code>
              <sup id="q2w2s"><tbody id="q2w2s"></tbody></sup>
              <strike id="q2w2s"><tr id="q2w2s"></tr></strike>
            • <abbr id="q2w2s"><strong id="q2w2s"></strong></abbr>