<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [TOC] ## 5.5 單體內置對象 .ECMA-262對內置對象的定義是:“由ECMAScript實現提供的、不依賴于宿主環境的對象,這些對象在ECMAScript程序執行之前就已經存在了。”即開發人員無需顯式地實例化內置對象,因為它們已經實例化了。 ### 5.7.1 Global對象 Global對象是一個**全局對象**,在瀏覽器環境下,Global對象是window對象的一部分。 所有在全局作用域中定義的屬性和函數,都是Global對象的屬性,比如:isNaN()、isFinite()、parseInt()以及parseFloat(),實際上都是Global對象的方法。 此外,Global對象還包含其他一些方法: **1.URI編碼方法** Global對象的`encodeURI()`和`encodeURIComponent()`方法可以對URI(Uniform Resource Identifiers,通用資源標識符)進行編碼,以便發送給服務器(在GET 請求中很重要的方法)。 有效的URI中不能包含某些字符,比如空格。 **encodeURI()和encodeURIComponent()的區別:** * `encodeURI()`主要用于整個URI;`encodeURIComponent()`主要用于對URI中的某一段。 * `encodeURI()`不會對本身屬于URI的特殊字符進行編碼(比如冒號、正斜杠、問號和井字號);但`encodeURIComponent()`則會對它發現的任何非標準字符進行編碼。 ~~~ var uri = 'http://www.example.com/illegal value.html#start'; console.log(encodeURI(uri)); // http://www.example.com/illegal%20value.html#start console.log(encodeURIComponent(uri)); // http%3A%2F%2Fwww.example.com%2Fillegal%20value.html%23start ~~~ 與encodeURI()和encodeURIComponent()方法對應的是`decodeURI()`和`decodeURIComponent()`。 decodeURI()只能對使用encodeURI()替換的字符進行解碼;decodeURIComponent()能夠解碼使用encodeURIComponent()編碼的所有字符。 ~~~ console.log(decodeURI('http://www.example.com/illegal%20value.html#start')); // http://www.example.com/illegal value.html#start console.log(decodeURIComponent('http%3A%2F%2Fwww.example.com%2Fillegal%20value.html%23start')); // http://www.example.com/illegal value.html#start ~~~ **2. eval() 方法** eval()方法類似一個完整的ECMAScript解析器,它接受一個參數,既要執行的JavaScript字符串。 ~~~ eval("alert('hi')"); //等價于 alert('hi'); ~~~ 當解析器發現代碼中調用eval()方法時,它會**將傳入的參數當作實際的ECMAScript語句來解析**,然后把執行結果插入到原位置。 通過eval()執行的代碼被認為是包含該次調用的執行環境的一部分,因此被執行的代碼具有與該執行環境相同的作用域鏈。 ~~~ var name = 'tg'; eval("console.log(name)"); // "tg" eval("function test() { console.log(1); }"); test(); // 1 ~~~ 注意:在eval()創建的任何變量或函數都不會被提升。而且在嚴格模式下,在外部是訪問不到eval()中創建的任何變量或函數,且為eval復制也會導致錯誤。 **3. Global對象的屬性** ~~~ undefined、NaN、Infinity、Object、Array、Function、Boolean、String、Number、 Date、RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError ~~~ **4. window對象** ECMAScript并沒有指出如何直接訪問Global對象,但Web瀏覽器都是將這個全局對象作為**window對象**的一部分加以實現的。因此,**在全局作用域總聲明的的所有變量和函數,都會成為window對象的屬性。** ### 5.7.2 Math對象 Math對象中保存了數學公式和信息。 **1. Math對象的屬性** | 屬性 | 說明 | | --- | --- | | Math.E | 自然對數的底數,即常量e的值 | | Math.LN10 | 10的自然對數 | | Math.LN2 | 2的自然對數 | | Math.LOG2E | 以2為底e的對數 | | Math.LOG10E | 以10為底e的對數 | | Math.PI | π的值 | | Math.SQRT1_2 | 1/2的平方根(即2的平方根的倒數) | | Math.SQRT2 | 2的平方根 | **2. Math.min()和Math.max()** Math.min()和Math.max()分別用于確定一組數值中的最小值和最大值,這兩個方法都可以接收任意個數值參數。 ~~~ console.log(Math.max(3, 10, 2, 100)); // 100 console.log(Math.min(3, 10, 2, 100)); // 2 ~~~ 如果要找到數組中的最大或最小值,可以這樣: ~~~ var arr = [3, 10, 2, 100]; var max = Math.max.apply(Math, arr); console.log(max); // 100 ~~~ apply()方法是用來改變一個函數內的this指向,第一個參數就是要this指向的對象,第二個參數是一個數組。 **3. 舍入方法** `Math.ceil()`執行向上舍入,即它總是取最接近數值且大于數值的整數 ~~~ console.log(Math.ceil(1.4)); // 2 console.log(Math.ceil(1.5)); // 2 ~~~ Math.floor()執行向下舍入,即它總是取最近數值且小于數值的整數。 ~~~ console.log(Math.floor(1.4)); // 1 console.log(Math.floor(1.5)); // 1 ~~~ Math.round()執行標準舍入,即它總是將數值四舍五入為最接近的整數。 ~~~ console.log(Math.round(1.4)); // 1 console.log(Math.round(1.5)); // 2 ~~~ **4. random() 方法** `Math.random()`方法返回大于等于0和小于1之間的一個隨機數。 ~~~ console.log(Math.random()); // 介于0~1之間的值 ~~~ 取任意范圍的隨機值: ~~~ function getRandom(max, min) { return Math.random() * (max - min + 1) + min ; // random*可能值總數 + 最小值 }; ~~~ getRandom()方法接受兩個參數:應該返回的最小值和最大值。 **5. 其他方法** | 屬性 | 說明 | | --- | --- | | Math.abs(num) | 返回num的絕對值 | | Math.exp(num) | 返回Math.E的num次冪 | | Math.log(num) | 返回num的自然對數 | | Math.pow(num, power) | 返回num的power次冪 | | Math.sqrt(num) | 返回num的平方根 | | Math.acos(x) | 返回x的反余弦值 | | Math.asin(x) | 返回x的反正弦值 | | Matn.atan(x) | 返回x的反正切值 | | Math.atan2(y, x) | 返回y/x的反正切值 | | Math.cos(x) | 返回x的余弦值 | | Math.sin(x) | 返回x的正弦值 | | Math.tan(x) | 返回x的正切值 |
                  <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>

                              哎呀哎呀视频在线观看