1. 程式人生 > >5.7 Global對象

5.7 Global對象

%20 .com rip markdown 其他 upper 特殊 down str

5.7 Global對象
encodeURI encodeURIComponent decodeURI decodeURIComponent
用特殊的utf-8編碼替換所有無效的字符,從而讓瀏覽器能理解

var uri = "http://www.baidu.com/illegal value.html#start";
l(encodeURI(uri));//http://www.baidu.com/illegal value.html#start
l(encodeURIComponent(uri));//http%3A%2F%2Fwww.baidu.com%2Fillegal%20value.html%23start
l(decodeURI(uri));//http://www.baidu.com/illegal value.html#start
l(decodeURIComponent(uri));//http://www.baidu.com/illegal value.html#start

eval 像一個完整的ECMAScript解析器
嚴格模式下可能,外部訪問不了eval中創建的任何變量和參數

Gobal對象的屬性

undefined NaN Infinity Object Array Function Boolean String Number
Date RegExp Error EvalError RangeError ReferenceError SyntaxError TypeError URIError

window 對象
在全局作用域中聲明的所有變量和函數,都變成了window對象屬性

var color = "red";
function sayColor(){
    l(window.color);
}
window.sayColor();//red

var global = function(){
    return this;
}
  1. Math 對象的屬性

    Math.e
    Math.LN10
    Math.LN2
    Math.LOG2E
    Math.LOG10e
    Math.PI
    Math.SQRT1_2
    Math.SQRT2
  2. min max 方法

    var max = Math.max(3, 54, 32, 16);
    l(max);//54
    var min = Math.min(3, 54, 32, 16);
    l(min);//3
    //這個技巧的關鍵是把Math對象作為apply()的第一個參數,從而正確設置this
    var values = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
    var max = Math.max.apply(Math, values);
    l(max);//10
  3. ceil floor round

    l(Math.ceil(25.9)); //26
    l(Math.ceil(25.5));// 26
    l(Math.ceil(25.1));// 26
    l(Math.floor(25.9));//25
    l(Math.floor(25.5));//25
    l(Math.floor(25.1));//25
    l(Math.round(25.9));//26
    l(Math.round(25.5));//26
    l(Math.round(25.1));//25
  4. random 方法

    // 1-10
    var num = Math.floor(Math.random() * 10 +1);
    l(num);
    // 2-10
    var num = Math.floor(Math.random() * 9 + 2);
    l(num);
    // 隨機函數
    function selectForm(lowerValue, upperValue){
    var choices = upperValue - lowerValue + 1;
    return Math.floor(Math.random()* choices + lowerValue);
    }
    var num = selectForm(2, 10);
    l(num);
    var colors = [‘red‘, ‘green‘, ‘blue‘, ‘yellow‘, ‘black‘, ‘purple‘, ‘brown‘];
    var color  = colors[selectForm(0, colors.length - 1)];
    l(color);
  5. 其他方法
    Math.abs() Math.exp() Math.log() Math.pow() Math.sqrt() Math.acos()

5.7 Global對象