1.Math对象
作用:用于执行数学任务,把Math作为对象就可以调用其方法和属性.
eg:    typeof Math);
2.Math属性
    PI:圆周率(约等于 3.1415926);
eg:    console.log(Math.PI);
3.Math方法
    Math.round()四舍五入
    Math.floor()向下取整
    Math.ceil()向上取整
    Math.max()取最大值
    Math.min()取最小值
    Math.abs()取绝对值
    Math.pow(x,y)取x的y次方
    Math.sqrt()开平方
    Math.random()取 0-1之间的随机数不包括1
a)随机数扩展一:
0 - 100(包含)之间的随机值.
    console.log(Math.round(Math.random()*100));
0 - 99(包含)之间的随机值.
    console.log(Math.floor(Math.random()*100));
1 - 100(包含)之间的随机值.
    console.log(Math.ceil(Math.random()*100));
100 - 1000(包含)之间的随机值.
    console.log(Math.round(Math.random()*(1000 - 100) + 100));
解析:Math.random() 0-1
    Math.round(Math.random()) 0-1包含1
    Math.round(Math.random()*900) 0-900;
    Math.round(Math.random()*900 +100) 100-1000;
求两个值之间的随机数封装成一个方法
    function numRandom(x,y){
    console.log(Math.round(Math.random()*(y-x)+x));
    }
4.勾股定理
eg:    function(a,b){
    var c = Math.sqrt(Math.pow(a,2)+Math.pow(b,2));
    console.log(c);
}
function(a,b);
5进制的转换
    console.log((153).toString(16));result 99  转换为16进制
    console.log((153).toString(8)); result 231 转换为8进制
6.创建日期对象
var oDate = new Date();输出的顺序为:week month date hours:minutes:second GMT+0800(中国标准时间);
注:可以自定义输出的日期的格式输出结果为对象中的字符串,
eg:    可以传入的参数格式为:“时:分:秒 月/日/年”、“月/日/年 时:分:秒”、“年/月/日”等字符串。年,月,日,时,分,秒。月是从0开始算的
    var oDate = new Date(12:12:12 11/12/2018);
    var oDate = new Date(11/12/2018 12:12:12);
    var oDate = new Date(2018/11/12);
    var oDate = new Date(2018,11,12,12,12,12);
7.时间戳
概念:从1970年0月0日0时0分0秒开始计算到某一刻时间的总毫秒数.
8.获取日期的方法
eg:    var oDate = new Date();获取日期对象
    console.log(oDate.getFullYear());获取oDate对象的    年份
    console.log(oDate.getMonth());获取oDate对象的    月份
    console.log(oDate.getDate());获取oDate对象的    日期
    console.log(oDate.getHours());获取oDate对象的    小时
    console.log(oDate.getMinutes());获取oDate对象的 分钟
    console.log(oDate.getSeconds());获取oDate对象的    秒
    console.log(oDate.getMilliseconds());获取oDate对象的    毫秒
    console.log(oDate.getTime());获取oDate对象的    时间戳 共13位.
    console.log(oDate.getDate());获取oDate对象的    周天 返回的值为0-6;0为周日
9.设置日期的方法
eg:    var oDate = new Date();获取日期对象
    oDate.setFullYear();设置oDate对象的    年份
    oDate.setMonth();设置oDate对象的    月份
    oDate.setDate();设置oDate对象的    日期
    oDate.setHours();设置oDate对象的    小时
    oDate.setMinutes();设置oDate对象的 分钟
    oDate.setSeconds();设置oDate对象的    秒
    oDate.setMilliseconds();设置oDate对象的    毫秒
    oDate.setTime();设置oDate对象的    时间戳 共13位.
    oDate.setDate();设置oDate对象的    周天 返回的值为0-6;0为周日
10.常用日期工具
a)将日期格式化成字符串  字符串的格式为  YYYY-MM-DD HH:II:SS
    function formatDateToString(){
        // 先获取对象日期
        var oDate = new Date();
        // 从该对象中分别拿出所需要的    年,月日,时,分,秒 并放到一个变量中存储起来
        var year = oDate.getFullYear();
        var month = oDate.getMonth()+1;
        var date = oDate.getDate();
        var hours = oDate.getHours();
        var minutes = oDate.getMinutes();
        var seconds = oDate.getSeconds();
        return year + "-" + month + "-" + date + " " + hours + ":" + minutes + ":" + seconds;
    }
    console.log(formatDateToString());//调用方法。输出结果为计算机当前时间,格式为2018-01-24 18:01:43;
b)将日期格式的字符串转换成对象    格式为 YYYY-MM-DD HH:II:SS
function formatStringToDate(str){
        //字符串的分割,丢弃所分割的字符并产生的字符串
        var oDate =str.split(" ");//[2018-01-24,15:01:43]
        //将日期分割成年份和时间两部分
        var left = oDate[0];//[2018-01-24]
        var right = oDate[1];//[18:01:43]
        left = left.split("-");//[2018,01,24]
        right = right.split(":");//[18,01,43]
        return new Date(left[0],left[1]-1,left[2],right[0],right[1],right[2]);
    }
    console.log(formatStringToDate('2018-01-24 18:01:43'));//此时输入的月份是比输出的月份大一的
c)将字符串格式的日期转换成毫秒
    function formatStringToMilli(str){
         //因为日期的方法中有直接转换为毫秒的方法 oDate.getTime();所以现将字符串格式的日期转换为对象
         var oDate = formatStringToDate(str); // 调用前面所封装的将字符串转换为对象的方法
         return oDate.getTime();
    }
    console.log(formatStringToMilli('2018-01-24 18:01:43'));
d)计算两个日期的差值.
    function diffDate(str1,str2){
         var
             oDate1 = formatStringToDate(str1),
             oDate2 = formatStringToDate(str2);
         return oDate2.getTime() - oDate1.getTime();
     }
     console.log(diffDate('2018-01-24 18:01:43','2018-01-24 18:01:44'));
//解析思路:先用已经封装的方法b)转换为对象.然后使用日期自身的time方法,转换为毫秒后,用第二个所给的日期减去第一个所给的日期得出毫秒差
11.延时器
a)语法:var timer = setTimeout(function(){},time);
eg:    setTimeout(function(){
        console.log("你好,狗子,你还是变了");
    },2000); //这里的2000是毫秒, 1s =1000ms;
b)清除延迟器
语法:clearTimeout(function(){},time);
eg:    var timer = setTimeout(function(){
    console.log('你好,猴子,你还是变了');
},3000);
    clearTimeout(function(){
        clearTimeout(timer);    
    },2000);
12.计时器
语法:var timer = setInterval(function(){},time);
eg:    var num = 10;
    var timer = setInterval(function(){
        if(num == 0){
            clearInterval(timer);//当计时到0是清除计时
        }
        console.log(num--);
    },1000);// 这里的1000毫秒是每隔一秒计时器执行一次
 

(九)jsMath的更多相关文章

  1. 如何一步一步用DDD设计一个电商网站(九)—— 小心陷入值对象持久化的坑

    阅读目录 前言 场景1的思考 场景2的思考 避坑方式 实践 结语 一.前言 在上一篇中(如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成),有一行注释的代码: public interfa ...

  2. 谈谈一些有趣的CSS题目(九)-- 巧妙的实现 CSS 斜线

    开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...

  3. CRL快速开发框架系列教程九(导入/导出数据)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  4. Python(九)Tornado web 框架

    一.简介 Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过 ...

  5. 我的MYSQL学习心得(九) 索引

    我的MYSQL学习心得(九) 索引 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  6. 【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)

    Oracle 11G RAC数据库安装(九) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...

  7. Jsp的九大对象,七大动作,三大指令

    jsp九大内置对象:1>out 向客户端输出数据,字节流.如out.print(" dgaweyr"); 2>request 接收客户端的http请求.String g ...

  8. 今天我们来认识一下JSP的九大内置对象

    虽然现在基本上我们都是使用SpringMVC+AJAX进行开发了Java Web了,但是还是很有必要了解一下JSP的九大内置对象的.像request.response.session这些对象,即便使用 ...

  9. 浅谈UML的概念和模型之UML九种图

    1.用例图(use case diagrams) [概念]描述用户需求,从用户的角度描述系统的功能 [描述方式]椭圆表示某个用例:人形符号表示角色 [目的]帮组开发团队以一种可视化的方式理解系统的功能 ...

随机推荐

  1. 了解IE中filter属性的应用!

    在设置不透明属性时,经常用opacity来增加层次感或者增加用户体验,但这个属性是css3属性,对于低级浏览器的兼容性来说就达不到预期的效果. 一般而言,我们都尽可能少用一些浏览私有属性-webkit ...

  2. webform中Repeater的Command用法、Repeater的替代方法

    Command: 在Repeater控件循环执行过程中,可以给每一项的某个按钮或其他控件设置CommandName.CommandArgument属性,用于在后台代码中获取单项 数据进行调用.   需 ...

  3. APDU指令返回码及其代表含义

    9000 正常 成功执行6200 警告 信息未提供6281 警告 回送数据可能出错6282 警告 文件长度小于Le6283 警告 选中的文件无效6284 警告 FCI格式与P2指定的不符6300 警告 ...

  4. 20145229吴姗珊《网络对抗》MSF基础应用

    20145229吴姗珊<网络对抗>MSF基础应用 试验过程及基础知识 实验完成问题回答 用自己的话解释什么是exploit,payload,encode. exploit:通过一个漏洞对程 ...

  5. [BZOJ2730]矿场搭建

    Description 煤矿工地可以看成是由隧道连接挖煤点组成的无向图.为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处.于是矿主决定在某些挖煤点设立救援出口,使得无论哪一 ...

  6. Graph_Master(连通分量_A_双连通分量+桥)

    hdu 5409 题目大意:给出一张简单图,求对应输入的m条边,第i-th条边被删除后,哪两个点不连通(u,v,u<v),若有多解,使得u尽量大的同时v尽量小. 解题过程:拿到题面的第一反应缩点 ...

  7. GridView右键菜单

    一.添加右键菜单 1.在VS工具箱中的“菜单和工具栏”找到ContextMenuStrip控件,双击添加. 2.点击ContextMenuStrip右上方的小三角形,打开编辑项,可以添加菜单项.至于菜 ...

  8. JavaEE 技术体系

    JavaEE 技术体系总结: 一:常见模式与工具 设计模式,流行的框架与组件 常见的设计模式,编码必备 Spring5,做应用必不可少的最新框架 MyBatis,玩数据库必不可少的组件 二:工程化与工 ...

  9. 一个较好的style与ControlTemplate结合的示例(以Button为例)

    <!--按钮背景画刷-->    <LinearGradientBrush x:Key="buttonBackgroundBrush">        &l ...

  10. 接口测试工具---postman下载地址

    接口测试工具---postman下载地址: https://app.getpostman.com/app/download/win64?_ga=2.3555895.622696496.15081214 ...