JavaScript第9天

  1. Math对象

  1. 专门提供数学计算的API

  1. 不需要创建,直接使用

  1. 属性:

Math有一些属性设计科学计算几乎用不到,只有Math.PI有时用到===3.1415926...,这一串数字不需要我们创建,直接使用

  1. API:

  1. 取整:3种

  1. 向上取整:超过一点就去取下一个整数

var num=Math。ceil();

小数位数不能超过15位,否则此方法不能向上取整,只能取整

  1. 向下取整:无论超过多少都会省略小数部分

var num=Math.floor();

  1. 四舍五入取整:

var num=Math.round();

只看小数点后面的第一位

以上三种方法+parseInt(str去掉单位)+num.toFixed(d);

num.toFixed(d);

优点:

  1. 可以四舍五入,并保留指定小数位数,d就是保留小数的位数

  1. 解决游览器带来的误差

如:2-1.6=0.399999....

这种情况可以使用toFixed解决

缺点:结果是一个字符串,建议搭配parseFloat()使用

问题:不允许使用toFixed的情况下,自己封装一个函数,由用户传入数字和保留位数,实现四舍五入:

  1. 乘方和开方:

  1. 乘方:Math.pow(底数,幂); ——>简化:底数**幂

  1. 开方:Math.sqrt()——>只能开方

  1. 最大值和最小值:

  1. var max/min=Math.max/min(a,b,c,d,e,f,g,...);

自动在你传入的数字中比较出最大值或最小值

  1. 问题:本身不支持数组参数

  1. 解决:

固定用法:

Math.max/min.apply(Math,arr);

apply具有打散数组的功能

  1. 绝对值

  1. Math.abs(-1);//1

  1. 随机数:

  1. Math.random();在0-1之间随机的小数搭配parselnt,只能取到0,不能取到1,意味着不是最大值

  1. 公式:parselnt(Math.random()*(max-min+1)+min);

  1. 网页中某一块有随机功能,他底层一定用到了随机数

  1. Date对象

  1. 概念:日期对象,提供日期和时间的API

  1. 创建:4种

  1. 创建一个当前日期

var now=new Date();

  1. 创建一个自定义时间

var birth=new Date("年/月/日 时:分:秒");

  1. 创建一个自定义时间

var brith=new Date(年,月,日,时,分,秒);

需要修改月份,从0-11,0代表1月

  1. 复制一个日期

  1. 日期的所有API都是直接修改原日期,无法获得修改之前的日期,所以在执行API之前先进行复制,在操作复制的日期

  1. var end=new Date(atr);

  1. 使用

  1. 两个日期对象之间,可以相减(大-小)得到一个毫秒差,在换算出自己想要的部分

日期本质是保留了一个毫秒差——做倒计时的关键

创建日期的最后一种方式,没人用

var date=new Date(毫秒数);

计算机元年:1970年1月1日8点整

  1. API:

  1. 分量:时间单位

  1. 年 月 日 星期:FullYear  Month  Date  Day

  1. 时 分 秒 毫秒:Hours  Minutes  Seconds  Milliseconds 

  1. 每一个分量都有一对getXXX/setXXX的方法

  1. 其中getXXX负责获取一个分量的值

  1. 其中setXXX负责设置一个分量的值

  1. 特殊:

  1. 取值范围

  1. FullYear     当前年份的数字

  1. Month       0-11

  1. Date          1-31

  1. Day            0-6,0代表星期天

  1. Hours         0-23

  1. Minustes、Seconds     0-59

  1. Day,没有set的方法

  1. 对某个份量进行加减

  1. date.setXXX(date.getXXX()+n/-n;

  1. 格式化日期为本地字符串

date.toLocaleString();

具有兼容性问题。我们都是创建一个格式化方法来格式日期

如此会失去:日期的自动进制、日期的API

如此会得到:字符串的API

  1. 定时器

  1. 周期性定时器

每过一段时间就执行一次,先等后坐

开启:time=setInterval(callback,毫秒数);

停止:clearInterval(time);

  1. 一次性定时器

等一段时间,只作一次就结束

开启:time=setTimeout(callback,毫秒数);

停止:clearTimeout(time);

  1. 同步技术:代码必须一行一行的执行,前面没做完,后面就等着

  1. 异步技术:无论代码耗时多久,不会卡住后面的代码

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值