天天看點

JS 内置對象

内置對象

JS 的對象分三種:自定義對象,内置對象,浏覽器對象;前兩種是JS的基礎内容,第三個是JS獨有的

1.内置對象:是指JS語言自帶的一些對象,這些對象供開發者使用,并提供了一些常用的的功能(屬性和方法)

查找文檔,用MDN來查詢 内置對象,可以看内置對象的屬性和方法

學習内置對象中的方法:

  1. 查閱該方法的功能
  2. 檢視裡面參數的意義和類型
  3. 檢視傳回值的意義和類型
  4. 通過demo進行測試

2.Math對象

  1. Math 是一個内置對象,它擁有一些數學常數屬性和數學函數方法
  2. Math 不是一個構造器(構造函數)就不需要new來調用,Math 的所有屬性與方法都是靜态的。引用圓周率的寫法是 Math.PI,調用正餘弦函數的寫法是 Math.sin(x),x 是要傳入的參數。

1. Math.max() 和 Math.min()

1. 參數:一組數值

如果沒有參數,則結果為 - Infinity

2. 傳回值:

<script>
        console.log(Math.max(1,99,'nihao'));//NaN
        console.log(Math.max());//-Infinity
        console.log(Math.max(1, 3, 2));//3
    </script>
           

3.利用對象封裝自己的數學對象,裡面有PI 屬性,最大值和最小值方法

var myMath = {
            PI:3.1459,
            max:function(){//不确定要比較多少個數值中的最大值時,調用僞數組arguments
                var max = arguments[0];
                for(var i=1;i<arguments.length;i++){
                    if(arguments[i]>max){
                        max=arguments[i];
                    }
                }
                return max;
            }
            //不要忘記屬性與方法之間用逗号隔開
            ,min:function(){
                var min = arguments[0];
                for(var i=1;i<arguments.length;i++){
                    if(arguments[i]<min){
                        min=arguments[i];
                    }
                }
                return min;
            }
        }
        console.log(myMath.PI);
        console.log(myMath.max(1,2,3));
        console.log(myMath.min(1,2,3));
           

2. Math.floor() 向下取整

3. Math. ceil() 向 上取整

4. Math.round() 四舍五入取整

5. Math. abs() 求絕對值

console.log(Math.floor(1.5));//1
         console.log(Math.floor(1.9));//1
         console.log(Math.ceil(2.1));//3
         console.log(Math.ceil(2.9));//3
         console.log(Math.round(3.5));//4
         console.log(Math.round(3.9));//4
         console.log(Math.round(-1.1));//-1
         console.log(Math.round(-1.5));//-1
         console.log( Math. abs(-1));//1
         console.log(Math. abs('-1'));//1
         //此處有隐式轉換,把字元串型的-1轉換成數字型
           

6.Math.random() 求随機數

function getRandom() {
  return Math.random();
}
           
<script>
        // 要調用Math.floor(Math.random()*(max-min+1))+min
        function  getRandom(min,max){
            return Math.floor(Math.random()*(max-min+1))+min;
        }
        console.log(getRandom(1,10));
        // 例如随機點名
        var arr=['小小','童童','大大','aiai','asas','asoaso'];
        console.log(arr[getRandom(0,arr.length-1)]);
        //将各個同學的姓名儲存在數組中,是對數組的索引進行求随機數,注意從0開始,到數組長度減1
    </script>
           
  1. 猜數字遊戲:

    要求:程式随機生成一個1到10之間的數字,并讓使用者輸入一個數字

    若大于該數字,就提示,數字大了,繼續猜

    若小于該數字,就提示,數字小了,繼續猜

    若等于該數字,就提示猜對了,結束程式

<script>
        //  分析:
        //  1.要生成随機數調用Math.random()方法中的傳回兩個數中之間的随機整數,并且包含這兩個整數
        //  要調用Math.floor(Math.random()*(max-min+1))+min
        //  2. 一直猜到正确為止,用到循環,此處用while循環簡單,那循環條件,需要保證一直猜,隻到正确,才退出
        //  3. 用到if else if 多分支語句來判斷大于,小于,等于
        function  getRandom(min,max){
            return Math.floor(Math.random()*(max-min+1))+min;
        }
        var random =  getRandom(1,10);
        while(true){//此處先使循環是死循環
            var num = prompt('請輸入1~10的數字:');
            if(num>random){
                alert('你猜大了');
            }
            else if(num<random){
                alert('你猜小了');
            }
            else{
                alert('你猜對了');
                break;//一定要結束此循環
            }
        }
    </script>
           

3. Date對象