JavaScript(内置对象)

一,JavaScript内置对象

Array:用于在单独的变量名中存储一系列的值
String:用于支持对字符串的处理
Math:用于执行常用的数学任务,包含若干个数字常量和函数
Date:用于操作日期和时间

二,Array对象

创建数组

new Array();  // 创建一个空数组
new Array(size);  // 创建的时候给个大小
new Array(element0, element1,, elementN); // 创建的时候指定元素,赋值

为数组元素赋值

<script>
		// 方法一
    var shuzu1 = new Array("apple","orange","peach","banana"); 
		// 方法二
    var shuzu2 = ["apple","orange","peach","banana"];  

		// 方法三
    var shuzu3 = new Array(4);
    shuzu3[0] = "apple";
    shuzu3[1] = "orange";
    shuzu3[2] = "peach";
    shuzu3[3] = "banana";
</script>

访问数组

	数组名[下标]
    console.log(shuzu3[2]);

在这里插入图片描述

2.1,常用属性和方法

类别 名称 描述
属性 length 设置或返回数组中元素的数目
方法 join() 把数组的所有元素放入一个字符串,通过逗号或指定的分隔符进行分隔
方法 sort() 对数组排序
方法 push() 向数组末尾添加一个或更多元素,并返回新的长度
方法 forEach() 遍历数组,forEach()方法不会直接修改原始数组,但是回调函数可能会修改

forEach()方法

array.forEach(callback[, thisArg]);

callback参数:为数组中的每个元素执行的函数

callback(currentValue[, index[, array]])

currentValue:数组中正在处理的当前元素
index:可选,数组中正在处理的当前元素的索引
array:可选,forEach()方法正在操作的数组
thisArg参数:可选,callback函数中的this可以引用的对象

示例:

<script>
    var arr1 = ["apple","orange","peach"];
    console.log(arr1.length);

    arr1.push("banana");  // 在末尾追加一个数组元素

    console.log(arr1.length); // 重新打印了数组长度,发现长度改变。说明数组是可变的

    var arrStr = arr1.join("|"); // 把数组中的元素,通过指定的字符串连接成一个字符串返回
    console.log(arrStr);
    
    var arr2 = [4,2,3,1]
    console.log(arr2.sort()); // 默认升序排序



    // 注意,再循环中,注意数组长度的变化
    arr1.forEach(function(val,index){
        console.log(val,index);
    })
</script>

在这里插入图片描述

2.2,基本方法

    var list = [1, 2, 3]; // 创建数组并赋值。
    console.log(list.indexOf(1));// 返回1这个元素在数组中第一次出现的下标,如果没有返回-1
    list[1] = 22; // 修改指定下标的值
    list.push(4,5);// 向数组末尾追加元素,元素数量不定。返回新的长度
    list.unshift(-1,0) // 向数组头部添加元素,元素数量不定。返回新的长度

    list.pop(); // 删除最后一位元素,返回被删除的元素
    list.shift(); // 删除第一位元素,返回被删除的元素

    list.splice(1); // 从指定下标开始删除,删到最后。返回删除的元素数组
    list.splice(1,2); // 删除从下标1开始,长度为2的元素。返回删除的元素数组
    list.splice(1,1,33,44); // 删除从下标1开始,长度为1的元素,并在删除的位置上添加两个元素,添加的元素个数不定
    
    var str = list.join(''); // 把数组按照指定的间隔符,拼成一个字符串

    var list3 = [11,22,33];
    var newlist = list.concat(list3); // 合并数组,注意合并数组返回的是新的数组对象,对原对象不做修改
    // console.log(list2)
    // console.log(str);
    console.log(list);

三,Date对象

用于处理日期和时间
使用自UTC(Coordinated Universal Time,国际协调时间)1970年1月1日0时开始经过的毫秒数来保存日期
创建Date对象

语法

new Date() // 不带参数 当前日期
new Date(dateString) // 带参数,指定日期

示例

<script>
    var today  = new Date();

    var sdate = new Date("July 15,2020,10:07:42");

    console.log(today); // 返回当前日期和时间
    console.log(sdate); // 返回指定日期和时间
</script>

在这里插入图片描述

3.1,常用方法

方 法 说 明
getDate() 返回 Date 对象的一个月中的每一天,其值介于1~31之间
getDay() 返回 Date 对象的星期中的每一天,其值介于0~6之间
getHours() 返回 Date 对象的小时数,其值介于0~23之间
getMinutes() 返回 Date 对象的分钟数,其值介于0~59之间
getSeconds() 返回 Date 对象的秒数,其值介于0~59之间
getMonth() 返回 Date 对象的月份,其值介于0~11之间
getFullYear() 返回 Date 对象的年份,其值为4位数
getTime() 返回自某一时刻(1970年1月1日)以来的毫秒数
<script>
    var mydate = new Date();
    console.log("年:",mydate.getFullYear());
    console.log("月:",mydate.getMonth()+1);  // 需要自己+1
    console.log("日:",mydate.getDate());
    console.log("时:",mydate.getHours());
    console.log("分:",mydate.getMinutes());
    console.log("秒:",mydate.getSeconds());
    console.log("周:",mydate.getDay()); // 周日是0
    console.log("时间戳:",mydate.getTime());
</script>

在这里插入图片描述

3.2,小案例

<body>
    <div id="datediv"></div>
    <div>
        <input type="button" value="开始" onclick="startLock()">
        <input type="button" id="zanting" value="暂停">
    </div>
</body>
<script>
    var interIndex;
    function startLock(){
        interIndex = setInterval("showDate()",1000)
    }
    document.getElementById("zanting").addEventListener('click',function(){
        clearInterval(interIndex)
    })
    function showDate(){
        var mydate = new Date();
        var year = mydate.getFullYear()
        var month = mydate.getMonth()+1
        var day = mydate.getDate()
        var hour = mydate.getHours()
        var minute = mydate.getMinutes()
        var second = mydate.getSeconds()
        document.getElementById("datediv").innerHTML=year+"年" +month+"月" +day+"日"+hour+":"+minute+":"+second
    }
</script>

js示例

四,Math对象

提供与数学相关的功能

常用方法

方法 说 明 示例
ceil() 对参数进行上舍入 Math.ceil(25.5);返回26 ---- Math.ceil(-25.5);返回-25
floor() 对参数进行下舍入 Math.floor(25.5);返回25 ---- Math.floor(-25.5);返回-26
round() 把参数四舍五入为最接近的数 Math.round(25.5);返回26 ---- Math.round(-25.5);返回-26
random() 返回0~1之间的随机数 Math.random(); ---- 例如:0.6273608814137365
方法 forEach() 遍历数组,forEach()方法不会直接修改原始数组,但是回调函数可能会修改