JavaScript的对象--内置对象




前言

大家好啊!小编我又来了!今天给你们分享的是好东西,他就是对象!当然不是你们想的那个对象,毕竟你们想的那个对象我也没有!哈哈哈!小编想和你们分享的是JavaScript的对象——叫做内置对象!好了!废话不多说,我们现在就开始我们今天的分享吧!打工人打工魂!学起来!




一、什么是内置对象

首先我们来讲讲什么是内置对象?

JavaScript之中为我们提供了三种对象:

  • 自定义对象
  • 内置对象
  • 浏览器对象

今天我们讲的就是内置对象,内置对象就是:指这个语言自带的一些对象,供开发者使用,这些对象提供了一些常用的或是最基本而必要的功能。

JavaScript又为我们提供了多个内置对象,我们今天就看看我们常用的几个内置对象。

  • Math对象
  • Date对象
  • Array对象
  • String对象



二、内置对象



1. Math对象(数学对象)

Math 对象不是构造函数,它具有数学常数和函数的属性和方法。跟数学相关的运算(求绝对值,取整、最大值等)可以使用 Math 中的成员。

属性、方法名 功能
Math.PI 圆周率
Math.floor() 向下取整
Math.ceil() 向上取整
Math.round() 四舍五入版 就近取整 注意 -3.5 结果是 -3
Math.abs() 绝对值
Math.max()/Math.min() 求最大和最小值
Math.random() 获取范围在[0,1)内的随机值

1.1 经典小案例

猜数字游戏:

<script>
        //猜数字游戏:用户输入一个数字,和在1-10的范围内随机生成的一个随机数进行比较大小。
        function getRandom(min, max) {
            return Math.floor(Math.random() * (max - min + 1)) + min; //运用数学对象获取自定义范围的随机数
        }
        var random = getRandom(1, 10); //随机数的范围
        while (true) {
            var num = prompt('请输入一个数字:'); //用户输入数字
            if (num > random) { //用户的数字大于随机数
                alert('数字大了,继续猜');
            } else if (num < random) { //用户的数字小于随机数
                alert('数字小了,继续猜');
            } else { //用户的数字等于随机数
                alert('猜对了');
                break;
            }
        }
    </script>



2. Date对象

Date 对象和 Math 对象不一样,Date是一个构造函数,所以使用时需要实例化后才能使用其中具体方法和属性。Date 实例用来处理日期和时间。

注意点:

  • 获取当前时间必须要实例化:
var now = new Date();
  • 获取指定时间的日期对象:

var future = new Date('2019/5/1');

Date对象实例化的属性:

2.1 经典小案例 

倒计时小案例:

<script>
        function countDown(time) {
            var nowtime = +new Date(); //获取当前时间的时间戳
            var inputtime = +new Date(time); //获取用户输入的时间戳
            var times = (inputtime - nowtime) / 1000; //获得两个时间之间的总秒数
            var d = parseInt(times / 60 / 60 / 24); //得到天数
            d = d < 10 ? '0' + d : d; //三元表达式判断天数是否小于10,小于10则在天数前面填0
            var h = parseInt(times / 60 / 60 % 24); //得到小时数
            h = h < 10 ? '0' + h : h;
            var m = parseInt(times / 60 % 60); //得到分钟数
            m = m < 10 ? '0' + m : m;
            var s = parseInt(times % 60); //得到秒数
            s = s < 10 ? '0' + s : s;
            return d + '天' + h + '时' + m + '分' + s + '秒';
        }
        console.log(countDown('2021-11-25 12:00:00')); //设置输入时间戳
        var date = new Date();
        console.log(date);
    </script>

3. Array对象(数组对象)

数组对象使用比较频繁所以方法比较多,我们来看看有哪些方法吧!

  • 创建数组的两种方式

  • 检测是否为数组

  • 添加删除数组元素的方法

  • 数组排序

  • 数组索引方法

  • 数组转换为字符串

3.1 创建数组的两种方式

  • 字面量创建
var arr=[1,'pink',234];
  • new Array()创建
var arr = new Array();

这里用new创建的数组是一个空数组,如果需要使用构造函数Array创建非空数组,可以在创建数组时传入参数

3.2 检测是否为数组

  •  方法一:instanceof 运算符
<script>
    var arr = [1, 23];
    var obj = {};
    console.log(arr instanceof Array); // true
    console.log(obj instanceof Array); // false
</script>
  • 方法二:Array.isArray()  H5新增方法
<script>
    var arr = [1, 23];
    var obj = {};
    console.log(Array.isArray(arr));   // true
    console.log(Array.isArray(obj));   // false
</script>

3.3 添加删除数组元素的方法

3.4 数组排序 

  •  升序
<script>
var arr1 = [1,13,4,77,7]
arr1.sort(function(a,b){
				return a-b;	//升序
		});
console.log(arr1);
</script>
  • 降序
<script>
var arr1 = [1,13,4,77,7]
arr1.sort(function(a,b){
				return b-a;	//降序
		});
console.log(arr1);
</script>

3.5 数组索引方法

 

3.6  数组转换为字符串

  

 4. String对象(字符串对象)

在这里边为大家写出两种String对象中常用的方法:

  • 根据字符返回位置
  • 根据位置返回字符

 4.1 根据字符返回位置

下面是方法的说明,同时小编准备了一下小案例给大家结合一下!

 小案例:查找字符串"abcoefoxyozzopp"中所有o出现的位置以及次数

<script>
        
        var str = 'abcoefoxyozzopp';
        var index = str.indexOf('o'); //输出第一个o的位置
        // console.log(index);
        var num = 0; //记录o出现的次数
        while (index !== -1) { //判断是否找到o
            console.log(index);
            num++;
            index = str.indexOf('o', index + 1);
        }
        console.log('o出现的次数是:' + num);
    </script>

 4.2 根据位置返回字符

这个方法和上一个方法不同,使用到的属性也不同,大家看看吧!

小案例:判断一个字符串 'abcoefoxyozzopp' 中出现次数最多的字符,并统计其次数  

<script>
        //核心算法:1.利用charAt()遍历整个数组
        //2.把每个字符都存储给对象,如果这个对象没有该属性就为1,如果存在就+1
        //3.遍历对象得到最大值和该字符
        var str = 'abcoefoxyozzopp';
        var o = {};
        for (var i = 0; i < str.length; i++) {
            var chars = str.charAt(i); //把字符串里面的每一个元素取出来赋值给chars
            if (o[chars]) { //判断这个对象中是否存在这个属性
                o[chars]++;
            } else { //如果没有就给这个对象添加进去并且赋值为1,
                o[chars] = 1;
            }
        }
        console.log(o);
        var max = 0;
        var ch = '';
        for (var k in o) {
            if (o[k] > max) {
                max = o[k];
                ch = k;
            }
        }
        console.log(max);
        console.log('最多的字符是:' + ch);
    </script>



总结

小编今天的分享到这里就结束了,欢迎大家留言点赞!写了这么久,我要一个赞不过分吧!

猜你喜欢

转载自blog.csdn.net/chnnds/article/details/121529468