Math和Date

一、对象

1.对象的概念

对象的本质:键值对,属性名和属性值
对象的意义:存储数据,编程
对象中的变量:属性
对象中的函数:方法

2.对象的赋值

var obj = {};
var obj2 = new Object();
console.log(obj2);
obj.name = "admin";
obj2["age"] = 18;

3.对象的分类

内置对象:系统提供的
    本地对象:
    内置对象:
        所有需要被new的对象
            String();
            Number();
            Object();
            Data();
        可以直接使用的对象
            Math
    宿主对象:
        DOM(对象模型,对应的对象是document)
            document:网页
            我们操作的内容都是在document上
        BOM(对象模型,对应的对象是window)
            window
            js中的顶层对象,最大的boss,所有的内容都属于window
            document也在window中
非内置对象:自己写的对象

二、Math

1.Math介绍

Math对象,提供了一些数学操作
    Math.round(3.6);        //4 四舍五入
    Math.random()*10;       //  返回一个0-9的随机数
    Math.abs(-6);           //6 绝对值
    Math.sqrt(9);           //3 开根号,算术平方根
    Math.pow(3,3);          //27    3的3次方
    Math.max(a,b);          //返回较大的值
    Math.min(a,b);          //返回较小的值
    Math.ceil(3.6);         //4 向上取整
    Math.floor(3.6);        //3 向下取整
    Math.sin(x);            //x的正弦值,返回值在-1到1之间
    Math.cos(x);            //x的余弦值,返回值在-1到1之间
Math属性:
    Math.PI;                //3.1415926...  输出PI

三、Data

1.进制转换

//十进制转其他
var x=110;
console.log(x);
console.log(x.toString(2) + "这是2");//转二进制
console.log(x.toString(8) + "这是8");//转八进制
console.log(x.toString(16) + "这是16");//转十六进制
//其他转十进制
var x='110';
console.log(parseInt(x,2));//6      二进制转十进制
console.log(parseInt(x,8));//72     八进制转十进制
console.log(parseInt(x,16));//272   十六进制转十进制
//其他转其他
//先用parseInt转成十进制再用toString转到目标进制
console.log(parseInt('ff',16).toString(2));//十六进制转十进制,再十进制转二进制

2.日期的获取

//获取当前实时总时间
var d = new Date();
console.log(d);
//获取方法
console.log(d.getFullYear);     //获取年
console.log(d.getMonth);        //获取月,从0开始计算,需要+1后才是正常月份
console.log(d.getData);         //获取天
console.log(d.getHours);        //获取小时
console.log(d.getMinutes);      //获取分钟
console.log(d.getseconds);      //获取秒
console.log(d.getTime);         //获取的是从1970年1月1号0点到现在的总的毫秒数,称为时间戳,唯一的

3.日期格式化功能函数

// 日期格式化功能
function createDate(){
    var d = new Date();
    var y = d.getFullYear();
    var m = d.getMonth();
    var mydate = d.getDate();
    var myday = d.getDay();
    var h = d.getHours();
    var mts = d.getMinutes();
    var s = d.getSeconds();

    switch(myday){
        case 0:myday = "星期日";break;
        case 1:myday = "星期一";break;
        case 2:myday = "星期二";break;
        case 3:myday = "星期三";break;
        case 4:myday = "星期四";break;
        case 5:myday = "星期五";break;
        case 6:myday = "星期六";break;
    }
    return {
        year:y,
        month:createZero(m+1),
        date:createZero(mydate),
        day:myday,
        hours:createZero(h),
        minutes:createZero(mts),
        seconds:createZero(mts)
    };
}

// 数值的补零(小于10补零)
function createZero(n){
    return n<10 ? "0"+n : n;
}

4.设置一个固定的日期

两种:
    直接设置:创建日期时传参
        字符:一个参数:可以设置局部:没有设置的部分为零
            年月日的部分之间可以用". , _ /"等隔开
            超出上限,Invalid Dare(意外日期对象)
                var d = new Date("2008.8.8 20:8:8");
        数值:多个参数:可以设置局部:没有设置的部分为零
            每一部分都是一个参数(月份从0开始计算,需实际月份-1)
            超出部分进1
                var d = new Date(2008,7,8,8,8,8);
    方法设置:set系列,接受的是数值,月份从0开始,没有设置的部分以当前时间为主,超出上限进1
        分布设置
            var d = new Date();
            d.setFullYear(2008);
            d.setMonnth(7);
            d.setDate(8);
            d.setHours(2008);
            d.setMinutes(2008);
            d.setSeconds(2008);
         时间戳设置:从1970年1月1日0点,计算机元年开始计算至今过了多少毫秒

5.计算两个时间差值

// 计算两个日期之间的差值,两个日期对象可以直接计算,但是有兼容,最好先获得时间戳再计算
function dateDiff(d1,d2){
    var oldDate = new Date(d1);
    var newDate = d2 ? new Date(d2) : new Date();
    var t = Math.abs(oldDate.getTime() - newDate.getTime());
    var d = parseInt(t/1000/60/60/24);
    var h = parseInt((t - d*24*60*60*1000)/1000/60/60);
    var m = parseInt((t - d*24*60*60*1000 - h*60*60*1000)/1000/60);
    var s = parseInt((t - d*24*60*60*1000 - h*60*60*1000 - m*60*1000)/1000);

    return {
        day:d,
        hours:h,
        minutes:m,
        seconds:s
    }
}

6.定时器

定时器:
setInterval(function(){
    console.log(1);
},1000)
    语法:
        开启定时器:
            setInterval(函数或者代码串,指定的时间(毫秒));
            var t = setInterval(function(){
                console.log(1);
            },1000)
        按照指定的周期(毫秒)不断的执行函数或者是代码串。
        计时器初始第一次不执行,第二次才执行。(原理是先计时再执行)

        清除定时器:
            clearInterval();
            配合事件(条件触发)
            document.onclick = function(){
                clearInterval(t);//清除定时器的变量值
            };

延时器:
    概念:延迟指定的毫秒数之后,只执行一次回调函数
setTimeout(function(){
    console.log(1);
},1000)
    语法:
        开启延时器
            setTimeout(函数或者代码串,指定的时间(毫秒));
            var t = setTimeout(function(){
                console.log(1);
            },5000)
        在指定的毫秒数后只执行一次函数或代码。
        清除延迟器:在延时器启动前倒计时的时候,如果返回不想要了可以提前停止延时器
            clearTimeout();
            document.onclick = function(){
                clearTimeout(t);//清除定时器的变量值
            };

Math和Date的更多相关文章

  1. javascript_core之正则、Math、Date

      javascript_core之正则.Math.Date 1.RegExp:Regular Expression,创建封装正则表达式: ①正则直接量:var reg=/reg/ig:②var re ...

  2. JavaScript中Global、Math、Date对象的常用方法

    JavaScript当中Global.Math.Date类型常用方法如下: /* js 中 Global对象 是一个不存在的对象,它里面的方法可以调用 常用方法: 1 encodeURI 对uri进行 ...

  3. JavaScript-----13.内置对象 Math()和Date()

    1. 内置对象 js对象分为3种:自定义对象(var obj={}).内置对象.浏览器对象. 前两种对象是js基础内容,属于ECMAScript,第三个浏览器对象是js独有的.讲js API的时候会讲 ...

  4. math and date、ajax、画布

    console.log(Math.PI);//圆周率 console.log(Math.sqrt(4));//平方根2 console.log(Math.abs(-2.3));//绝对值2.3 con ...

  5. javascript_core_06之正则、Math、Date

    1.RegExp:Regular Expression,创建封装正则表达式: ①正则直接量:var reg=/reg/ig:②var reg=new RegExp(“reg”,“ig”): 2.Reg ...

  6. Javascript数组,String对象,Math对象,Date对象,正则表达式

    标题栏的滚动<html><head><title>山西众创金融</title></head>function init(){ //1.拿到标 ...

  7. Java之StringBuffer,StringBuilder,Math,Date,SimpleDateFormat,UUID,File

    java.lang 类 StringBuffer java.lang.Object java.lang.StringBuffer 所有已实现的接口: Serializable, Appendable, ...

  8. 从零开始学习前端JAVASCRIPT — 4、JavaScript基础Math和Date对象的介绍

    Math对象的介绍 1:Math对象 Math 对象用于执行数学任务.并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math().您无需创建它,通过把 Math 作为对象使用就 ...

  9. 几种常见类的使用(System,Runtime,Math,Date,Calendar,Random)

    一:System 1.介绍 System:类中的方法和属性都是静态的. out:标准输出,默认是控制台. in:标准输入,默认是键盘. 2.properties 获取系统属性信息:Properties ...

随机推荐

  1. RabbitMQ 从入门到精通(二)

    目录 1. 消息如何保障百分之百的投递成功? 1.1 方案一:消息落库,对消息状态进行打标 1.2 方案二:消息的延迟投递,做二次确认,回调检查 2. 幂等性 2.1 幂等性是什么? 2.2 消息端幂 ...

  2. 「PowerBI相关」一款极其优秀的DAX建模工具Tabular Editor

    做Excel插件开发的时间久了,大部分人的印象是笔者是做软件开发,谈不上软件,也是插件开发级别. 但笔者更希望大家记住的身份是做BI开发,特别是企业级的BI. 故也借着Excel催化剂这个平台,输送一 ...

  3. vijos P1848 记数问题

    自答[119ms内存456.0 KiB] #include<iostream>using namespace std;int num = 0;void judge(int n, int x ...

  4. 小白开学Asp.Net Core《二》

    小白开学Asp.Net Core<二> ——数据仓储层(Repositroy) 一.历史现象 在后端开发中,数据库操作是最频繁的,每一个开发人员都会接触,甚至不少开发人员每天的工作就是与数 ...

  5. 如何在 Centos7 中使用阿里云的yum源

    如何在 Centos7 中使用阿里云的yum源 1. 备份原来的yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Ba ...

  6. windows无法执行 git reset head^版本回退操作的正确打开方式

    ^是cmd.exe的escape字符,属于特殊字符,命令里要用到文字 ^ 时必须用双引号把它夹起来,因此只要如下就可以正确执行: git reset head"^"或者git re ...

  7. cookbook_模块和包

    1把模块按层次结构组织成包 只需确保每个目录中都定义了__init__.py即可. 2对所有符号的导入进行精确控制 当用户使用from module import * 语句时,我们希望对从模块或包中导 ...

  8. rabbitMQ_routing(四)

    路由 本次我们将通过路由将信息发送到指定的队列中,将消息发送给指定的队列需要在转发器和队列之间建立一个routeKey 绑定 在以前的例子中,我们已经创建了绑定.你可能会记得如下代码: channel ...

  9. 模拟器无Back、Menu等键

    问题如图所示: 解决方法: 1. 打开Android Virtual Device (AVD) Manager --> 选择模拟器,并点击edit --> 勾选KeyBoard中的选项,并 ...

  10. Guitar Pro如何更改五线谱的符杆方向

    可能有的小伙伴不知道Guitar Pro是什么软件,我先稍微给大家介绍一下~ Guitar Pro是专为帮助所有吉他爱好者学习.绘谱.创作的多功能软件.它包含所有吉他的现有指法和音色,可以帮助我们了解 ...