| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> JavaScript知识库 -> Math和Date -> 正文阅读 |
|
|
[JavaScript知识库]Math和Date |
| 作者:more-toolbox-new |
Math对象属性
random:-- Math.random() 这个方法是用来生成一个 0 ~ 1 之间的随机数 -- 每次执行生成的数字都不一样,但是一定是 0 ~ 1 之间的 -- 生成的数字包含 0 ,但是不包含 1 round(),ceil(),floor()的区别: 1.Math.round():根据“round”的字面意思“附近、周围”,可以猜测该函数是求一个附近的整数,看下面几个例子就明白。 小数点后第一位<5正数:Math.round(11.46)=11负数:Math.round(-11.46)=-11 小数点后第一位>5正数:Math.round(11.68)=12负数:Math.round(-11.68)=-12 小数点后第一位=5正数:Math.round(11.5)=12负数:Math.round(-11.5)=-11 <!--参数的小数点后第一位>5,运算结果为参数整数部分绝对值+1,符号(即正负)不变--> <!--参数的[小数点]后第一位=5,正数运算结果为整数部分+1,负数运算结果为整数部分--> <!--总结:(小数点后第一位)大于五全部加,等于五正数加,小于五全不加--> 2.Math.ceil():根据“ceil”的字面意思“天花板”去理解;<!--执行的是向上取整计算,它返回的是大于或等于函数参数,并且与之最接近的整数 --> 例如:Math.ceil(11.46)=Math.ceil(11.68)=Math.ceil(11.5)=12 Math.ceil(-11.46)=Math.ceil(-11.68)=Math.ceil(-11.5)=-11 3.Math.floor():根据“floor”的字面意思“地板”去理解;<!--返回小于参数的最大整数,即对浮点数向下取整 --> 例如:Math.floor(11.46)=Math.floor(11.68)=Math.floor(11.5)=11 Math.floor(-11.46)=Math.floor(-11.68)=Math.floor(-11.5)=-12 abs:Math.abs() 是返回一个数字的绝对值 max:Math.max() 得到的是传入的几个数字之中最大的那个数字 min:返回指定的数字中带有最低值的数字 数字转换进制:进制:0x表示十六进制,但是js会强制转换为十进制来运算,0xa == 10 0开头表示八进制,同样强制转换为十进制来运算 010 = 8 1、toString():可把一个 Number 对象转换为一个字符串,并返回结果 语法 NumberObject.toString(转换的进制) 2、parseInt():可以在数字转换成字符串的时候给出一个进制数 注意: 只有字符串中的第一个数字会被返回 注意: 开头和结尾的空格是允许的 注意:如果字符串的第一个字符不能被转换为数字,那么 parseInt() 会返回 NaN 注意:在字符串以"0"为开始时旧的浏览器默认使用八进制基数。ECMAScript 5,默认的是十进制的基数 Date对象属性Date 对象用于处理日期和时间。 创建 Date 对象的语法: var time = new Date() <!--Date 对象会自动把当前日期和时间保存为其初始值--> new Date(),参数传递有以下五种方式: 1、new Date("month dd,yyyy hh:mm:ss"); 2、new Date("month dd,yyyy"); 3、new Date(yyyy,mth,dd,hh,mm,ss); 注意:这种方式下,必须传递整型; 4、new Date(yyyy,mth,dd); 5、new Date(ms); 注意:ms:是需要创建的时间和 GMT时间1970年1月1日之间相差的毫秒数;当前时间与GMT1970.1.1之间的毫秒数:var mills = new Date().getTime(); 各种变量代表的含义是: month:用英文 表示月份名称,从January到December ,缩写也行(Jan....Dec); mth:用整数表示月份,从0(1月)到11(12月 ? <!--月份是从0开始算的,0表示1月,依此类推--> dd:表示一个 月中的第几天,从1到31 yyyy:四位数表示的年份 hh:小时数,从0(午夜)到23(晚11点) mm: 分钟数,从0到59的整数 ss:秒数,从0到59的整数 ms:毫秒数,为大于等于0的整数 将日期字符串格式化成指定内容 一、JavaScript获取当前年、月、日在JavaScript中,使用getFullYear()、getMonth()和getDate()这3种方法来获取当前的年、月、日JavaScript获取当前年、月、日方法 说明getFullYear() 返回一个表示年份的4位数字getMonth() 返回值是0(一月)到11(十二月)之间的一个整数getDate() 返回值是1~31之间的一个整数举例: <script type="text/javascript">
? ? ? var d = new Date();
? ? ? var my_day=d.getDate();
? ? ? var my_month=d.getMonth()+1;
? ? ? var my_year=d.getFullYear();
? ? ? document.write("今天是"+my_year+"年"+my_month+"月"+my_day+"日");
? </script>
二、 JavaScript方法获取当前时、分、秒 在JavaScript中,使用getHours()、getMinutes()、getSeconds()这3种方法分别用来获取当前的时、分、秒 <script type="text/javascript">
? ? ? var d = new Date();
? ? ? var my_hours=d.getHours();
? ? ? var my_minutes=d.getMinutes();
? ? ? var my_seconds=d.getSeconds();
? ? ? document.write("当前时间是:"+my_hours+":"+my_minutes+":"+my_seconds);
? </script>
getDay():getDay() 方法可返回表示星期的某一天的数字。 语法 dateObject.getDay() 返回值 dateObject 所指的星期中的某一天,使用本地时间。返回值是 0(周日) 到 6(周六) 之间的一个整数 getTime():getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数 语法 Date.getTime() 工具函数: **************************************时间格式化处理************************************/
? ? function dateFtt(fmt, date) {
? ? ? //author: meizz
? ? ? var o = {
? ? ? ? "M+": date.getMonth() + 1, //月份
? ? ? ? "d+": date.getDate(), //日
? ? ? ? "h+": date.getHours(), //小时
? ? ? ? "m+": date.getMinutes(), //分
? ? ? ? "s+": date.getSeconds(), //秒
? ? ? ? "q+": Math.floor((date.getMonth() + 3) / 3), //季度
? ? ? ? S: date.getMilliseconds(), //毫秒
? ? ? };
? ? ? if (/(y+)/.test(fmt))
? ? ? ? fmt = fmt.replace(
? ? ? ? ? RegExp.$1,
? ? ? ? ? (date.getFullYear() + "").substr(4 - RegExp.$1.length)
? ? ? ? );
? ? ? for (var k in o)
? ? ? ? if (new RegExp("(" + k + ")").test(fmt))
? ? ? ? ? fmt = fmt.replace(
? ? ? ? ? ? RegExp.$1,
? ? ? ? ? ? RegExp.$1.length == 1
? ? ? ? ? ? ? ? o[k]
? ? ? ? ? ? ? : ("00" + o[k]).substr(("" + o[k]).length)
? ? ? ? ? );
? ? ? return fmt;
? ? }
? ? //创建时间格式化显示
? ? function crtTimeFtt() {
? ? ? var crtTime = new Date(); //当前时间
? ? ? return top.dateFtt("yyyy-MM-dd hh:mm:ss", crtTime); //直接调用公共JS里面的时间类处理的办法
? ? }
? ? console.log(crtTimeFtt()); //2018-05-27 17:56:20
?
计算时间差 --先获取两个时间点到 格林威治时间 的毫秒数 --两个时间相减,得到两个时间点之间相差的毫秒数 --把我们计算的毫秒数换算成时间 案例: <script>
? ? ? var time1 = new Date('1999-10-4 2:30:30')
? ? ? var time2 = new Date('2021-7-29 10:53:30')
? ? ? time1 = time1.getTime()
? ? ? time2 = time2.getTime()
? ? ? var differenetTime = time2 - time1
? ? ? //天
? ? ? var day = differenetTime / (24 * 60 * 60 * 1000)
? ? ? var day = Math.floor(day)
? ? ? console.log(day)
? ? ? //小时
? ? ? var afterdifferentHours = differenetTime - (24 * 60 * 60 * 1000 * 7969)
? ? ? var hours = afterdifferentHours / (60 * 60 * 1000)
? ? ? var hours = Math.floor(hours)
? ? ? console.log(hours)
? ? ? //分钟
? ? ? var afterdifferentMinutes = afterdifferentHours - (60 * 60 * 1000 * 8)
? ? ? var minutes = afterdifferentMinutes / (60 * 1000)
? ? ? var minutes = Math.floor(minutes)
? ? ? console.log(minutes)
? ? ? document.write(`1999-10-4 2:30:30与2021-7-29 10:53:30相差${day}天${hours}时${minutes}分`)
? </script>
计时器什么叫定时器?我们可以看到很多网站首页有一个“图片轮播”特效,每隔2s图片变换一次,这里就用到了定时器。定时器用途非常广,在图片轮播、在线时钟、弹窗广告等地方大显身手。凡是自动执行的东西,很大可能都是跟定时器有关。在JavaScript中,关于定时器的实现,我们有2组方法:(1)setTimeout()和clearTimeout();(2)setInterval()和clearInterval();一、setTimeout()和clearTimeout()在JavaScript中,我们可以使用 var 变量名 = window.setTimeout(code , time) 说明:参数code可以是一段代码,也可以是一个调用的函数名;参数time表示时间,表示要过多长时间才执行code中的内容,单位为毫秒。举例:参数code是一段代码 <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
? <title></title>
? <script type="text/javascript">
? ? ? window.onload = function () {
? ? ? ? ? setTimeout("alert('欢迎来到javascript');", 2000);
? ? ? }
? </script>
</head>
<body>
? <p>2秒后提示欢迎语。</p>
</body>
</html>
二、setInterval()和clearInterval()在JavaScript中,我们可以使用 var 变量名 = setInterval (code , time) 说明:参数code可以是一段代码,也可以是一个调用的函数名;参数time表示时间,表示要过多长时间才执行code中的内容,单位为毫秒。setTimeout()方法与setInterval()方法的语法很相似,实际上这两者在用法方面区别非常大。其中setTimeout()方法内的代码只会执行一次,而setInterval()方法内的代码会重复性执行,除非你使用clearInterval()方法来取消执行。 举例: <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
? <script type="text/javascript">
? ? ? //定义全局变量,用于记录秒数
? ? ? var n = 5;
? ? ? window.onload = function () {
? ? ? ? ? //设置定时器,重复执行函数countDown()
? ? ? ? ? var t = setInterval("countDown()", 1000);
? ? ? }
? ? ? //定义函数
? ? ? function countDown() {
? ? ? ? ? //判断n是否大于0,因为倒计时不可能有负数
? ? ? ? ? if (n > 0){
? ? ? ? ? ? ? n--;
? ? ? ? ? ? ? document.getElementById("num").innerHTML = n;
? ? ? ? ? }
?
?
? ? ? }
? </script>
</head>
<body>
? <p>新年倒计时:<span id="num">5</span></p>
</body>
</html>
setInterval()和clearInterval()分析:window.onload表示在页面加载完毕执行,在“JavaScript页面相关事件”我们会详细讲解到。setInterval()方法会重复执行某一段代码或函数。如果这个例子使用setTimeout方法就不能实现了,因为setTimeout()方法只会执行一次,而setInterval()会重复执行。 |
|
|
| JavaScript知识库 最新文章 |
| ES6的相关知识点 |
| react 函数式组件 & react其他一些总结 |
| Vue基础超详细 |
| 前端JS也可以连点成线(Vue中运用 AntVG6) |
| Vue事件处理的基本使用 |
| Vue后台项目的记录 (一) |
| 前后端分离vue跨域,devServer配置proxy代理 |
| TypeScript |
| 初识vuex |
| vue项目安装包指令收集 |
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/30 0:01:29- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |