博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript内置对象--Math对象
阅读量:6035 次
发布时间:2019-06-20

本文共 1573 字,大约阅读时间需要 5 分钟。

在JavaScript开发中,除了简单加减乘除运算之外,有时候开发,特别是动画或者游戏开发中,需要使用复杂的数学运算。JavaScript中Math对象提供了一系列属性和方法,能够满足大多数场合的需要。

Math对象常用的属性是Math.PI,这个属性在很多角度计算上需要使用到。

Math对象方法

ceil()表示向上舍入,把数字向上舍入到最接近的整数。

floor()表示向下舍入,把数字向下舍入到最接近的一个整数。

round()表示通常的四舍五入方法舍入为最接近的整数

 

random()方法是Math对象一个非常常用的方法。返回一个0-1之间的随机数,但是不包括0和1。random()函数用途最多的是返回一个指定范围内的随机数,但是本身random()返回的值是0-1之间的数值,但是不包括0和1,所以我们需要改造一下这个函数,使得可以返回可以指定范围内的随机数。

<script type="text/javascript"> document.write("Using the Math.random() method!<br/>"); document.write(Math.random()); document.write(Math.floor(Math.random()*100+1));//1-100之间的随机整数,包括1 //使用random()和floor()方法获得某个范围内的随机数 var number=Math.floor(Math.random()*total_number_of_choices+first_possible_value); </script>

在有的应用场合,我们防止一个请求会被CDN或者代理服务器缓存相关的数据值,我们需要在请求的后面加上一个时间戳。当然也可以用后台代码生成一个GUID来做。可以采用Math对象的方法和Date对象的方法实现。

<script type="text/javascript"> function getDataWithoutCache(URL){ var _url= URL if (!_url)return; //Clear the cache using the timestamp var timestamp = new Date(); var queryString = ""+Math.ceil(Math.random() * 9999) + timestamp.getUTCHours() + timestamp.getUTCMinutes() + timestamp.getUTCSeconds(); _url= _url+ queryString; </script>

在拼接字符串前面之所以加上双引号,是因为在JavaScript默认情况下,2个数字相加,是直接使用算术里面的加法进行的,而不是字符串拼接。如下代码输出结果是多少?

var a=10; var b=5; var result1=a+b; document.write(result1);

然后再看如下代码输出结果是多少?

var result2=" "+a+b; document.write(result2);

然后再看如下代码输出结果是多少?通过这2段代码,提醒我们平时在JavaScript开发中需要“+”操作符的使用,如果使用不当,虽然不会报错,但是后面很多代码逻辑是有问题。"+"操作符在遇到表达式中有字符串的情况下,将进行字符串拼接,返回的是一个字符串。我们可以通过Math对象的方法完成一个随机抽奖的小程序。

 

转载于:https://www.cnblogs.com/liminjun88/archive/2012/08/08/2628344.html

你可能感兴趣的文章
数字通信原理笔记(一)---概述
查看>>
HDU 2243 考研路茫茫——单词情结(自动机)
查看>>
Dubbo OPS工具——dubbo-admin & dubbo-monitor
查看>>
如何将OpenCV中的Mat类绑定为OpenGL中的纹理
查看>>
CutyCapt
查看>>
Dungeon Master ZOJ 1940【优先队列+广搜】
查看>>
解决https://localhost:1158/em 页面无法打开的问题
查看>>
[Cocoa]深入浅出Cocoa之Core Data(4)- 使用绑定
查看>>
原理:什么是Quadtrees?(转)
查看>>
记:返回方法参数的值(或多个值),
查看>>
Effective C++ 的52个条款列表
查看>>
c#读取ini文件
查看>>
一阶微分方程的求解
查看>>
其它 Helper
查看>>
监控利器Prometheus初探
查看>>
foreach遍历打印表格
查看>>
Oracle笔记(中) 多表查询
查看>>
Delphi 中的 XMLDocument 类详解(5) - 获取元素内容
查看>>
差异分析定位Ring 3保护模块
查看>>
2013年7月12日“修复 Migration 测试发现的 Bug”
查看>>