<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 基本包裝類型(Boolean、Number、String) **1、基本包裝類型簡介** ECMAScript提供了三個基本包裝類型:`Boolean`、`Number`、`String`。 實際上,每當讀取一個基本類型值的時候,后臺就會創建一個對應的基本包裝類型的對象,從而讓我們能過調用一些方法來操作這些數據。執行步驟如下: - 創建S提讓那個類型的一個實例 - 在實例上調用指定的方法 - 銷毀這個實例 ``` var s1 = new String('test'); var s2 = s1.substring(2); s1 = null; ``` 上面三個步驟也分別適用于Boolean和Number類型對應的布爾值和數字值。 引用類型與基本包裝類型的區別在于對象的生存期:使用new操作符創建的引用類型的實例,在執行流離開當前作用域之前都一直保存在內存中,而自動創建的基本包裝類型的對象,則只存在于一行代碼的執行瞬間,然后立即銷毀,這也是我們不能再運行時為基本類型值添加屬性和方法的原因。 ``` var s = 'tg'; s.age =10; console.log(s.age); // undefined ``` 上面代碼執行輸出的是undefined,這是音樂第二行創建的String對象在執行第三行代碼時已經被銷毀了,第三行又創建自己的String對象,而該對象沒有age屬性。 當然,我們也可以將Boolean、Number和String類型當做工具方法,將任何類型轉為布爾值、數值和字符串。 **2、 Boolean類型** Boolean類型是與布爾值對應的引用類型。常用于生成布爾值的包裝對象的實例。 ``` var bool = new Boolean(true); ``` Boolean類型的實例重寫了valueOf()方法,返回的基本類型值true或false,重寫了toString()方法,返回字符串“true”和“false”。 要注意一點的是,即使你使用false創建一個Boolean實例對象,當進行邏輯運算時,它會被轉為true,因為它是一個對象,而所有對象在邏輯運算中都會返回true。 ``` var bool = new Boolean(false); if(bool){ console.log(true); } // true ``` 對于Boolean類型,我們幾乎不用用它來創建實例對象。 **3、 Number類型** Number是與數字值對應的引用類型。 創建Number對象: ``` var num = new Number(); var num2 = new Number(10); ``` Number類型的toString()方法返回數值的字符串,可傳遞一個表示基數的參數,默認是10進制。 ``` var num = 10; console.log(num.toString()); // "10" console.log(num.toString(2)); // "1010" ``` **3.1 屬性** Number類型有以下屬性: ``` Number.POSITIVE_INFINITY:正的無限,指向Infinity。 Number.NEGATIVE_INFINITY:負的無限,指向-Infinity。 Number.NaN:表示非數值,指向NaN。 Number.MAX_VALUE:表示最大的正數,相應的,最小的負數為-Number.MAX_VALUE。 Number.MIN_VALUE:表示最小的正數(即最接近0的正數,在64位浮點數體系中為5e-324),相應的,最接近0的負數為-Number.MIN_VALUE。 Number.MAX_SAFE_INTEGER:表示能夠精確表示的最大整數,即9007199254740991。 Number.MIN_SAFE_INTEGER:表示能夠精確表示的最小整數,即-9007199254740991。 ``` **3.2 格式化方法** **(1)Number.prototype.toFixed()** toFixed()方法會按照指定的小數位來返回數值的字符串表示(四舍五入)。 ``` var num = 10.005; console.log(num.toFixed(2)); // "10.01" ``` 注意:如果沒有小數位,則以0填補。 ``` var num = 10; console.log(num.toFixed(2)); // "10.00" ``` 注意:toFixed()參數的有效范圍為0~20個小數位的數值。 **(2)Number.prototype.toExponential()** toExponential()方法用于將一個數轉為科學計數法形式。 ``` var num = 10; console.log(num.toExponential()); //1e+1 ``` toExponential()方法的頁可以接受一個參數,參數表示小數點后有效數字的位數,范圍為0到20,超出這個范圍 ``` var num = 1234; console.log(num.toExponential(2)); // 1.23e+3 console.log(num.toExponential(1)); // 1.2e+3 ``` **(3)Number.prototype.toPrecision()** toPrecision()方法可能返回固定大小格式,也可能返回指數格式,具體規則是看哪種格式最合適的。它也接收一個參數,表示數值的所有數字的位數(不包含指數部分) ``` var num = 99; console.log(num.toPrecision(1)); // 1e+2 console.log(num.toPrecision(3)); // 99.0 ``` **4、 String類型** String類型是字符串的對象包裝類型。 創建String對象 ``` var text = new String('tg'); ``` String構造函數有一個靜態方法: **(1)String.fromCharCode()** fromCharCode()方法的參數是一系列Unicode碼點,返回對應的字符串。 ``` var str = String.fromCharCode(104, 101, 108, 108 ,111); console.log(str); // "hello" ``` **4.1 String實例對象的屬性和方法** **4.1.1 屬性** **length屬性** String類型的每個實例都有一個length屬性,表示字符串中包含多少個字符(從0開始)。 **4.1.2 方法** String類型提供了很多方法: **(1)字符方法** `chatAt()`接收一個基于0的字符位置的參數, 返回指定位置的字符 ``` var str = 'hello world'; console.log(str.charAt(1)); // e ``` `charCodeAt()`接收一個基于0的字符位置的參數,返回給定位置字符的Unicode碼點(十進制表示) ``` var str = 'hello world'; console.log(str.charCodeAt(1)); // 101 ``` String對象實例是一個類數組對象,所以我們可以使用方括號表示法訪問特定字符。 ``` var str = 'hello world'; console.log(str[1]); // e ``` **(2)字符串操作方法** `concat()`用于連接兩個字符串,參數可以是一個或多個字符串,返回拼接得到的新字符串 ``` var str1 = 'hello'; var str2 = str1.concat(' world'); console.log(str2); // "hello world" console.log(str1); // "hello" ``` `slice(start,end) `用于從原字符串取出子字符串并返回子字符串,不改變原字符串。 第一個參數:表示子字符串的開始位置,如果參數是負值,表示從結尾開始倒數計算的位置,即該負值加上字符串長度 第二個參數:可選,表示子字符串的結束位置(不含該位置);如果參數是負值,表示從結尾開始倒數計算的位置,即該負值加上字符串長度;如果不設置,表示將字符串的長度作為結束位置 ``` var str = 'hello world'; console.log(str.slice(1,3)); // "el" console.log(str.slice(1)); // "ello world" console.log(str.slice(-1)); // "d" console.log(str); // "hello world" ``` 注意:如果第一個參數大于第二個參數,則返回空字符串 `substring()` 用于從原字符串取出子字符串并返回,不改變原字符串,也接收一個或兩個參數。 第一個參數表示子字符串的開始位置; 第二個位置表示結束位置,如果不設置,表示將字符串的長度作為結束位置 注意:substring()方法有些不一樣,當傳入負數時,它會自動將負數轉為0,;當第一個參數大于第二個參數時,它會將兩個參數的位置對換。 ``` var str = 'hello world'; console.log(str.substring(-1,2)); // "he" console.log(str.substring(3,1)); // "el" ``` 從上面運行結果我們可以看到,substring()自動將-1轉為0;將第二行的3和1交換了。 `substr()`用于從原字符串取出子字符串并返回,不改變原字符串。 第一個參數:表示子字符串的開始位置; 第二個參數:表示子字符串的長度。如果第一個參數是負數,表示倒數計算的字符位置。如果第二個參數是負數,將被自動轉為0,因此會返回空字符串;如果不設置,表示將字符串的長度作為結束位置 ``` var str = 'hello world'; console.log(str.substr(1,2)); // "el" console.log(str.substr(-1,2)); // "d" console.log(str.substr(1,-1)); // "" ``` **(3)字符串位置方法** `indexOf()`返回給定元素在字符串中第一次出現的位置,如果沒有出現則返回-1。第一個參數為要查找的子字符串,可以接受第二個參數,表示搜索的開始位置 ``` var str = 'hello world'; console.log(str.indexOf('o')); // 4 console.log(str.indexOf('h',2)); // -1 ``` `lastIndexOf()`返回給定元素在字符串中最后一次出現的位置,如果沒有出現則返回-1。第一個參數為要查找的子字符串,可以接受第二個參數,表示搜索的開始位置 ``` var str = 'hello world'; console.log(str.lastIndexOf('o')); // 4 console.log(str.lastIndexOf('h',2)); // 0 ``` **(4)trim()** `trim()` 是ECMAScript 5新增的,用于去除字符串兩端的空格,返回一個新字符串,不改變原字符串。 ``` var str = ' hello'; console.log(str.trim()); // "hello" ``` **(5)字符串大小寫轉換** `toLowerCase()`用于將一個字符串全部轉為小寫,返回一個新字符串,不改變原字符串。 `toUpperCase()`將字符串的字符全部轉為大寫 ``` var str = 'hello'; var upper = str.toUpperCase(); var lower = upper.toLowerCase(); console.log(upper); // "HELLO" console.log(lower); // "hello" ``` **(6)字符串的模式匹配方法** `match()`用于確定原字符串是否匹配某個子字符串,返回一個數組,成員為匹配的第一個字符串。如果沒有找到匹配,則返回null。 `search()`返回值為匹配的第一個位置。如果沒有找到匹配,則返回-1。 `replace()`用于替換匹配的子字符串,一般情況下只替換第一個匹配(除非使用帶有g修飾符的正則表達式)。 `split()`按照給定規則分割字符串,返回一個由分割出來的子字符串組成的數組。還可傳入第二個參數,決定了返回數組的成員數。 **(7)localeCompare()方法** `localeCompare(s2)`用于比較兩個字符串。它返回一個整數: 如果小于0,表示第一個字符串小于第二個字符串; 如果等于0,表示兩者相等; 如果大于0,表示第一個字符串大于第二個字符串。 ``` console.log('a'.localeCompare('a')); // 0 console.log('a'.localeCompare('b')); // -1 ``` 注意:比較的是字符串在字母表中的順序。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看