JavaScript包装对象、数学对象

在此先带大家做一个回忆,之前我们学字符串的时候,有个是获取字符串的长度,我们来看一下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    var str = '133'
    console.log(str.length);
    
</script>
</html>

我们看结果:
在这里插入图片描述
是3个的长度没问题,此时有一个问题,对象的前面可以点加一个属性,就可以获取到,那么 str 这个变量明明是一个字符串,为什么就可以以 .语法,来获取一个属性呢,而且确实还有值,还拿到了我们字符串的长度,所以接下来就学到了我们的 包装对象

包装对象:
三种原始类型  数值  字符串  布尔
原始类型的数据在一定条件下可以自动转为对象  这就是包装对象

我们看下面代码:

... ...
    var v1 =new Number(123);
    console.log(v1);
</script>
</html>

在这里插入图片描述
打印出来是一 Number ,但是它是括号括起来的,这就是一个对象了,那我们把这个类型的东西转为对象,有什么意义或目的吗

JavaScript语言设计的时候,是想这样的,我要把所有的数据类型,都能够使用对象的的方式,来提供一些属性和方法,来方便操作

原始值 可以自动当做对象来调用,可以调用各种属性及方法
如果包装对象使用完成,会自动立即销毁
    var a = '456';
    a.length;

我们来看着代码,定义变量并赋值,这是一个字符串类型的
但是你下面加了 . 那么a变量的字符串类型就成为了对象,他就可以按照对象语法来调用属性了,就是length,也就是字符串的长度,这就叫做包装对象

那接下来我们就看对象里有哪些属性和方法可以供我们直接调用的,其实是有很多的,但是不可能全部都讲解一遍,我在这里呢这是,把经常用的来说一下

首先第一个呢,就是数学对象:
Math 是一个内置对象,也称为数学对象,也具有数学常数和函数的属性和方法。不会是一个函数对象。与其他全局对象不同的是,Math的所有属性和方法都是静态的,跟数学相关的运行直接使用Math中的成员即可

那接下来我们看几个Math的一些属性:
1、Math.abs(x) 函数返回指定数字“x”的绝对值:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    var n = 2;
    var n2 = Math.abs(n);
    console.log(n2)

</script>
</html>

我们看这段JS代码,用Math.abs 取绝对值,绝对值就是不管事正数还是负数,只要求它的绝对值,就是正数,我们看这个的结果;
在这里插入图片描述
那我们试一下负数:

... ...
<script>
    var n = -2;
    var n2 = Math.abs(n);
    console.log(n2)

</script>
</html>

在这里插入图片描述
同样是正数没错

2、在看一个产生随机值的Math 属性
Math.random() 函数返回一个浮点,伪随机数在范围 [0,1) ,也就是说,从0(包括0)往上,到是不包括1(排除1),然后你就可以缩放到所需的范围。现实将初始种子选择到随机数生成算法,它不能被用户选择或重置

... ...
   var r = Math.random();
    console.log(r);
</script>
</html>

看结果是这个数
在这里插入图片描述
我们在刷新一下:
在这里插入图片描述
有是不一样了,就是每次刷新都是不同的数,但是都不会超过或者是1,但有时我们就是需要更大的数怎么办呢:
这时候我们就可以在这是属性的后面用乘号,乘10,假如我们取值取到的是 0.3,那么10 就是3了,这样的

... ...
    var r = Math.random() * 10;
    console.log(r);

</script>
</html>

在这里插入图片描述
那这还是不行啊,我就是想要整数,不要小数呢
3、Math.floor 返回小于或等于一个给定数字的最大整数

... ...
    var r1 = Math.random() * 10;
    var r2 = Math.floor(r1);
    console.log(r2);

</script>
</html>

在这里插入图片描述
在这里插入图片描述

这样一直刷新就可以看到0到9的数字了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨旭华 

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值