Math对象概述

Math(算数)对象的作用是:执行常见的算数任务。保存数学公式和信息.

与我们在JavaScript 直接编写计算功能相比,Math 对象提供的计算功能执行起来要快得多。

Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数,不是某个对象的方法。

您无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法。

Math对象的属性

Math 对象包含的属性大都是数学计算中可能会用到的一些特殊值

console.log(Math.E);
console.log(Math.LN10);
console.log(Math.LN2);
console.log(Math.LOG2E);
console.log(Math.LOG10E);
console.log(Math.PI);
console.log(Math.SQRT1_2);
console.log(Math.SQRT2);

Math 对象的方法

 min()和 max()方法

Math.min()用于确定一组数值中的最小值。

Math.max()用于确定一组数值中的最大值。

// max()方法
console.log(Math.max(5,7)); //
console.log(Math.max(-3,5));//
console.log(Math.max(-3,-5));//-3
console.log(Math.max(7.25,7.31));//7.31 //min()方法
console.log(Math.min(5,7));//
console.log(Math.min(-3,5));//-3
console.log(Math.min(-3,-5));//-5
console.log(Math.min(7.25,7.30));//7.25 console.log(Math.min(2,4,3,6,3,8,0,1,3)); //最小值:0
console.log(Math.max(4,7,8,3,1,9,6,0,3,2)); //最大值:9

四舍五入方法:Math.ceil()

Math.ceil()执行向上舍入,即它总是将数值向上舍入为最接近的整数

 console.log(Math.ceil(25.9)); //
console.log(Math.ceil(25.5)); //
console.log(Math.ceil(25.1)); //

四舍五入方法:Math.floor()

Math.floor()执行向下舍入,即它总是将数值向下舍入为最接近的整数

 console.log(Math.floor(25.9)); //
console.log(Math.floor(25.5)); //
console.log(Math.floor(25.1)); //

四舍五入方法:Math.round()

Math.round()执行标准舍入,即它总是将数值四舍五入为最接近的整数

 console.log(Math.round(25.9)); //
console.log(Math.round(25.5)); //
console.log(Math.round(25.1)); //

random()方法

该方法返回介于 0 到 1 之间一个随机小数,不包括 0 和 1。

console.log(Math.random());

如果想获取大于这个范围的随机数的话,可以套用一下公式:值 = Math.floor(Math.random() * 总数 + 第一个值)

 //随机产生 1-10 之间的任意整数

 //先获取随机小数
var box = Math.random(); //将获取到的随机小数,乘以10等到0到10之间的小数,不包括0和10,最后加上1就可以等到1到10之间的小数
box = box*10+1; //将后面的小数截取掉(即将数值向下舍入),变成整数
box = Math.floor(box); console.log(box); //写成一句话就是:console.log(Math.floor(Math.random() * 10 + 1));
//5-14 之间的任意数(10+5-1=14)
console.log(Math.floor(Math.random() * 10 + 5)) //如果想要5到10 10-5+1 = 6 就是*6+5
console.log(Math.floor(Math.random() * 6 + 5))

为了更加方便的传递想要范围,可以定义一个函数,包含头和尾

function selectFrom(lower, upper) {
var sum = upper - lower + 1; //总数-第一个数+1
// var sum = upper - lower; //如果不包含尾的话就不用加1
return Math.floor(Math.random() * sum + lower);
} for (var i=0 ;i<10;i++) {
console.log(selectFrom(5,10));//直接传递范围即可

其他方法

JavaScript的事件对象_其他属性和方法的更多相关文章

  1. JavaScript的事件对象_概述/this

    JavaScript 事件的一个重要方面是它们拥有一些相对一致的特点,可以给你的开发提供更多的强大功能. 最方便和强大的就是事件对象,他们可以帮你处理鼠标事件和键盘敲击方面的情况,此外还可以修改一般事 ...

  2. JavaScript的事件对象_键盘事件

    用户在使用键盘时会触发键盘事件.“DOM2 级事件”最初规定了键盘事件,结果又删除了相应的内容.最终还是使用最初的键盘事件,不过 IE9 已经率先支持“DOM3”级键盘事件. 一.键码 在发生 key ...

  3. JavaScript的事件对象_滚轮事件

    用户在使用键盘时会触发键盘事件.“DOM2 级事件”最初规定了键盘事件,结果又删除了相应的内容.最终还是使用最初的键盘事件,不过 IE9 已经率先支持“DOM3”级键盘事件. 一.键码 在发生 key ...

  4. JavaScript的事件对象_鼠标事件

    鼠标事件是 Web 上面最常用的一类事件,毕竟鼠标还是最主要的定位设备.那么通过事件对象可以获取到鼠标按钮信息和屏幕坐标获取等. 一.鼠标按钮 只有在主鼠标按钮被单击时(常规一般是鼠标左键)才会触发 ...

  5. JavaScript的事件对象_实现拖拽

    实现拖拽一个元素 拖拽的流程: 当鼠标在被拖拽元素上按下时,开始拖拽 onmousedown 当鼠标移动时被拖拽元素跟随鼠标移动 onmousemove 当鼠标松开时,被拖拽元素固定在当前位置 onm ...

  6. JavaScript的事件对象_事件流

    事件流事件流是描述的从页面接受事件的顺序,当几个都具有事件的元素层叠在一起的时候,那么你点击其中一个元素,并不是只有当前被点击的元素会触发事件,而层叠在你点击范围的所有元素都会触发事件.事件流包括两种 ...

  7. 并发编程---Process对象的其他属性或方法

    Process对象的其他属性或方法 #join方法 from multiprocessing import Process import time,os ''' 需求:让主进程等着子进程运行完毕,才能 ...

  8. 8 并发编程-(线程)-多线程与多进程的区别&Thread对象的其他属性或方法

    1.开启速度  在主进程下开启线程比 开启子进程快 # 1 在 主进程下开启线程 from threading import Thread def work(): print('hello') if ...

  9. 并发编程 - 线程 - 1.开启线程的两种方式/2.进程与线程的区别/3.Thread对象的其他属性或方法/4.守护线程

    1.开启线程的两种方式: 进程,线程: 进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合)而线程才是cpu上的执行单位) 1.同一个进程内的多个线程共享该进程内的地址资源 2.创建线 ...

随机推荐

  1. css select 样式列表-----另一种样式列表

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org ...

  2. 如何在 Eclipse 中连接源码

    1:首先在window 中 打开首选项(preferences) 找到如下java -- 已安装的JRE

  3. UPnP基本原理介绍

    http://blog.csdn.net/braddoris/article/details/41576515 随着计算机产业以及计算机网络技术的迅猛发展,越来越多嵌入式设备的出现和家庭网络的发展,实 ...

  4. view class source code with JAD plugin in Eclipse

    The default class viewer doesn't decompile the class file so you cannot open and check the source co ...

  5. ReentrantLock的原理学习

    转载:https://my.oschina.net/andylucc/blog/651982 摘要 提到JAVA加锁,我们通常会想到synchronized关键字或者是Java Concurrent ...

  6. bouncy castle的配置

    Bouncy Castle 是一种用于 Java 平台的开放源码的轻量级密码术包.它支持大量的密码术算法,并提供 JCE 1.2.1 的实现.因为 Bouncy Castle 被设计成轻量级的,所以从 ...

  7. windows api线程

    一.1.定义入口函数static void  threadFunc(void);//在TestDlg.h里面声明 void CTestDlg::threadFunc(void) //在TestDlg. ...

  8. 编写2个接口:InterfaceA和InterfaceB;在接口InterfaceA中有个方法void printCapitalLetter();在接口InterfaceB中有个方法void printLowercaseLetter();然 后写一个类Print实现接口InterfaceA和InterfaceB,最后再在主类E 的main方法中创建Print的对象并赋值,运行方法

    package lianxi; public interface InterfaceA { void printCapitalLetter(); } package lianxi; public in ...

  9. Android-activity-intent

    package com.hanqi.myapplication; import android.content.ComponentName; import android.content.Intent ...

  10. Xcode 创建.a和framework静态库

    库介绍 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种. iOS中的静态库有 .a 和 .framework两种形式:动态库有.dylib 和 .framew ...