JavaScript(九)
1. Math对象
1.1 取整
parseInt 取整 舍弃小数部分
Math.floor 向下取整 舍弃小数部分
Math.ceil 向上取整 有小数就进位
Math.round 四舍五入
1.2 数学方法
Math.max(数值1,数值2,数值3.....) 找序列中最大的值
Math.min(数值1,数值2,数值3.....) 找序列中最小的值
Math.abs 取绝对值
Math.sqrt 开根号
Math.pow(num,n) 次方幂 num底数 n 次方幂
1.3 随机数
Math.random() 随机生成0-1之间的数据 包括0不包括1
随机生成min到max之间的整数
Math.floor( Math.random() * (max - min + 1) + min )
2.时间对象Date
月份单词
January:一月 February:二月 March:三月 April:四月
May:五月 June:六月 July:七月 August:八月
September:九月 October:十月 November:十一月 December:十二月
2.1 创建时间对象
创建当前时间对象
<script>// 1.创建当前这一时刻的时间对象var oDate = new Date();console.log(oDate);// Thu Sep 01 2022 09:57:06 GMT+0800 (中国标准时间)// 2.创建每秒的时间setInterval(function(){var a = new Date();// console.log(a,"现在时刻");},1000) </script>
创建自定义时间
//a. 自定义的时间是一个字符串var sDate = new Date("2023,1,1,12:00:00");var sDate = new Date("2023 1 1 12:00:00");var sDate = new Date("2023/1/1 12:00:00");var sDate = new Date("2023-1-1 12:00:00");console.log(sDate);//Sun Jan 01 2023 12:00:00 GMT+0800 (中国标准时间)//b. 时间分开接受参数 创建2023年10月1日 12:00:00的时间// 问题 想创建10月 但是结果出来的是11月 // 分析原因: 月份是从0开始的 0-1月 10-11月var aDate = new Date(2023,9,1,12,0,0) //想创建10月 就给9console.log(aDate);// Sun Oct 01 2023 12:00:00 GMT+0800 (中国标准时间)var bDate = new Date(2023,9,1);console.log(bDate);// Sun Oct 01 2023 00:00:00 GMT+0800 (中国标准时间)
2.2 获取时间
获取特定格式的时间
var oDate = new Date();// 年月日 时分秒 日期console.log(oDate);//Thu Sep 01 2022 10:39:02 GMT+0800 (中国标准时间)// 1.获取特定格式的时间 年 月 日console.log(oDate.toDateString());//Thu Sep 01 2022console.log(oDate.toLocaleDateString());//2022/9/1// 2.获取特定格式的时间 时 分 秒console.log(oDate.toTimeString());//10:41:30 GMT+0800 (中国标准时间)console.log(oDate.toLocaleTimeString());// 10:42:02
- 获取单个时间
// 3.获取单个时间// 年console.log(oDate.getFullYear());//2022\// 月 月份是从0开始 0----1月份 8----9月份console.log(oDate.getMonth() + 1);//9// 日console.log(oDate.getDate());// 1// 时console.log(oDate.getHours());// 分钟console.log(oDate.getMinutes());// 秒console.log(oDate.getSeconds());// 星期 ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]console.log(oDate.getDay());//4
- 获取时间戳
// 4.获取现在的时间戳 1970年1月1日0:0:0 到现在时刻的毫秒console.log(oDate.getTime())// 5.获取未来时间的时间戳 1970年1月1日0:0:0 到2023年10月1日的毫秒var sDate = new Date("2023,10,1") console.log(sDate);//Sun Oct 01 2023 00:00:00 GMT+0800 (中国标准时间)console.log(sDate.getTime());//1696089600000
2.3 倒计时
实现思路:倒计时 未来时间的时间戳-现在时间的时间戳 = 差值(毫秒单位)
==注意==
1天 24 * 60 * 60 86400s
1时 60*60 3600s
1分 60 60s
<script>auto();setInterval(auto, 1000)function auto() {// 1.倒计时 未来时间的时间戳-现在时间的时间戳 = 差值(毫秒单位)// 创建未来时间var futureDate = new Date("2022,9,3");// 创建现在时间var currentDate = new Date();// 时间差 毫秒单位转成秒 1s = 1000msvar time = futureDate.getTime() - currentDate.getTime();time = parseInt(time / 1000);// console.log(time);// 131680// 将time 转为 天 时 分 秒/* 1天 24*60*60 86400s1时 60*60 3600s1分 60 60s*/var t = parseInt(time / 86400);console.log(t);var h = parseInt((time % 86400) / 3600);console.log(h);var m = parseInt((time % 86400 % 3600) / 60);console.log(m);var s = time % 60;console.log(s);// 将结果显示在页面上document.body.innerHTML = "还剩余" + suppleZero(t) + "天" + suppleZero(h) + "时" + suppleZero(m) + "分" + suppleZero(s) + "秒"}function suppleZero(num) {return num < 10 ? "0" + num : num;}</script>
3.字符串对象
3.1 创建字符串对象
字面量创建
// 1.字面量创建 (包装类对象 是使用字符串的方法的之后 会暂时将自己伪装成一个对象)var str1 = "0711web";console.log(str1);//0711webconsole.log(typeof str1);// stringconsole.log(str1.length);// 7
- new关键字创建
// 2.new 关键字创建var str2 = new String("0711web");console.log(str2);//String {'0711web'}console.log(typeof str2);// objectconsole.log(str2.length);//7
3.2 字符串的方法
length
获取字符串长度
charAt
语法:str.charAt(下标)
作用 :获取下标对应的字符
// lengthconsole.log(str1.length);//7// charAt(下标)console.log(str1.charAt(6));//b
charCodeAt
语法:str.charCodeAt(下标)
作用 :获取下标对应的字符编码
// charCodeAt(下标) "A"----65 "a"----97 "0"----48console.log(str1.charCodeAt(0));//48
indexOf
从左往右查找
语法:str.indexOf(searchValue,index)
作用 :查询一个字符串在另一个字符串中首次出现的位置 如果出现则是返回该字符串的下标位置 没有找到则是返回-1
参数
searchValue:必需参数 需要查询的字符串
index:可选值 开始查找的位置 默认是从下标0开始查找
// indexofvar str2 = "webuiwebuiwebui";var s = "ui";console.log(str2.indexOf(s));// 3 ui的u的下标var s1 = "java"console.log(str2.indexOf(s1));// -1 var s3 = "ui";console.log(str2.indexOf(s3,5));//8 var str3 = "uiwebui";var s4 = "ui";console.log(str3.indexOf(s4));//0
lastindexof
从右往左查找
语法 :str.lastindexOf(searchvalue,index)
作用 :从字符串后面开始往前查找第一次出现的目标位置 如果找到返回正常的索引值 如果找不到则是返回-1
参数
searchValue: 必需参数 需要查询的字符串
index:可选值 开始查找的位置 默认是从str.length-1开始查找
// lastindexOf 了解var str = "webuiwebjava";var s1 = "web"console.log(str.lastIndexOf(s1));//5console.log(str.lastIndexOf(s1,3));//0
字符串截取方法
substring
语法:str.substring(start,end)
作用:截取介于两个指定下标之间的字符 包括start不包括end
参数
start 开始截取的下标 可选值 默认是0
end 结束截取的下标 可选值 默认是str.length
// 1.substring(start,end)var str1 = "webuiwebuiwebui";console.log(str1.substring());// webuiwebuiwebuiconsole.log(str1.substring(2));// buiwebuiwebuiconsole.log(str1.substring(2,4));// bu
slice
语法:str.slice(start,end)
作用:截取介于两个指定下标之间的字符 包括start不包括end
参数
start 开始截取的下标 可选值 默认是0
end 结束截取的下标 可选值 默认是str.length
// 2.slice(start,end)var str2 = "webuiwebuiwebui";console.log(str2.slice());//webuiwebuiwebuiconsole.log(str2.slice(3));//uiwebuiwebuiconsole.log(str2.slice(3,6));//uiw
slice和substring的区别
substring 会自动调整位置 slice不会自动调整位置
substring 碰见负数会默认为0 slice碰见负数认为倒数第几个
// 3.区别var str3 = "abcdefg";console.log(str3.substring(2,0));//ab 自动调整位置 (0,2)console.log(str3.slice(2,0));//" " 不会自动调整位置console.log(str3.substring(2,-1));//ab 负数会默认为是0console.log(str3.slice(2,-1));//cdef 负数默认为倒数第几个var str4 = ["[object Object]","[object Function]","[object Array]"];console.log(str4[0].slice(8,-1));//Objectconsole.log(str4[1].slice(8,-1));//Functionconsole.log(str4[2].slice(8,-1));//Arrayfor(var i = 0;i<str4.length;i++){console.log(str4[i].slice(8,-1))}
substr
语法 str.substr(start,length)
作用:从哪开始截取 截取几个
var str = "110123200010010987";console.log(str.substr(6,4))// 2000
大小写转换
toUpperCase
语法 str.toUpperCase() 转大写
toLowerCase
语法 str.toLowerCase() 转小写
验证码不区分大小写
<script>var str = "ABcdeff";console.log(str.toUpperCase());"ABCDEFF"; //转大写console.log(str.toLowerCase());"abcdeff"; //转小写// 验证码不区分大小写var str1 = "OpXy"; //系统给的验证码var str2 = "apxy"; //用户输入的验证码if(str1.toLowerCase() == str2.toLowerCase()){ console.log("用户输入正确")}</script>
replace
语法 str.replace(searchValue,replaceValue)
作用 替换字符串中的某个字符 返回一个新的字符串 默认一次只能替换一个
参数
searchValue 必需 将要被替换的字符串
replaceValue 必需 替换的字符
// replace(searchValue,replaceValue)var str = "Webuiwebuiwebui";var newStr = str.replace("web","java");//将web字符串替换成javaconsole.log(newStr,str)
trim
语法 str.trim()
作用 去除字符串的首尾空格
// trim 去除字符串的首尾空格var str = " webui webui ";console.log(str.trim());
split
语法:str.split(分割标识)
作用:将字符串根据特定标识分割成数组
// split 将字符串根据特定标识分割成数组var date = "2022-9-1";// [2022,9,1]var newDate = date.split("-");console.log(newDate,date);// ['2022', '9', '1'] '2022-9-1'var name = "澄邈、德泽、海超"console.log(name.split("、"));// ['澄邈', '德泽', '海超']
JavaScript(九)相关推荐
- 从头开始学JavaScript (九)——执行环境和作用域
一.执行环境:定义了变量或者函数有权访问的其他数据,决定了它们各自的行为.每个执行环境都有与之关联的变量对象. 变量对象:保存着环境中定义的变量和函数. 作用域链:保证对执行环境有权访问的所有变量和函 ...
- 九年级计算机上册教学总结,九年级英语上册教学总结范例
英语学科是一门基础性学科,又是一种非常重要的语言交际工具,随着初三上学期工作的结束,我感触颇多,可谓得失并重;为了进一步搞好本学期的教育教学工作,取得更好的教学效果,特把下学期的教学工作总结如下: 一 ...
- JavaScript(九)——继承
开始 定义了一些属性的Person()构造器. function Person(first, last, age, gender, interests) {this.name = {first,las ...
- JavaScript 九种跨域方式实现原理
前言 前后端数据交互经常会碰到请求跨域,什么是跨域,以及有哪几种跨域方式,这是本文要探讨的内容. 一.什么是跨域? 1.什么是同源策略及其限制内容? 同源策略是一种约定,它是浏览器最核心也最基本的安全 ...
- JavaScript 九种跨域方式实现原理 1
前言 前后端数据交互经常会碰到请求跨域,什么是跨域,以及有哪几种跨域方式,这是本文要探讨的内容. 一.什么是跨域? 1.什么是同源策略及其限制内容? 同源策略是一种约定,它是浏览器最核心也最基本的安全 ...
- 轻松学习JavaScript十一:JavaScript基本类型(包含类型转换)和引用类型
一值的类型 早在介绍JS的数据类型的时候就提到过基本类型和引用类型,不过在说两种类型之前,我们先来了解一下变量的 值的类型.在ECMAScript中,变量可以存在两种类型的值,即原始值和引用值. (1 ...
- jquery打99乘法表_基于javascript实现九九乘法表
基于javascript实现九九乘法表 本文实例为大家分享了javascript实现九九乘法表的相关代码,具体内容如下 var sum=0; var wite; for (var i = 1; i & ...
- 2019年最全面最新200+道JavaScript基础面试题(上)
在此之前,我也跟大家分享过很多的面试题,今天我要跟大家分享的这个JavaScript的面试一共有200多道,适用于前端学习与前端求职者,面试刷题,里面涵盖的内容比较广,今天只是整理了部分面试题,希望对 ...
- java 6和_java都到6了 有什么不同 哦????
展开全部 一:Desktop类和e69da5e887aa3231313335323631343130323136353331333238656132SystemTray类 在JDK6中 ,AWT新增加 ...
- Succinctly 中文系列教程(二) 20220109 更新
Succinctly .NET 本地化教程 零.简介 一.从本地化开始 二.日期和时间 三.周数 四.时区 五.数字 六.货币 七.文本 八.附录 Succinctly Linux 教程 一.简介 二 ...
最新文章
- Spring-AOP @AspectJ切点函数之target()和this()
- php如何知道服务器剩余空间,远程简单地获得每台服务器的cpu与memory使用情况
- python精要(73)-turtle(3)
- 使用Jupyter notebook,为什么按下ctrl+enter后,没有输出,也没有报错,而是一直出现“*”呢?
- 【剑指offer】面试题58 - I:翻转单词顺序(Java)
- Python3 获取当前路径,当前文件名,当前文件名路径、指定import的文件路径、程序路径
- 两边填上相同的数_二年级必考题,在括号里填上相同的数~
- 084 HBase的数据迁移(含HDFS的数据迁移)
- 并发编程(六)并发容器
- JAVA----JSON序列化错误:InvalidDefinitionException: No serializer found for class org.apache.ibatis.execut
- Android--最全的启动第三方APP,应用程序(按需启动,历史启动)
- js与朴php订单评价功能
- 数据库学习2 排序检索数据
- html标签的下一级遍历,jquery属性,遍历,HTML操作方法详解
- TBM410-ASEMI的4A贴片整流桥TBM410
- 滴滴夜莺:从监控告警系统向运维平台演化
- 移动开发的碎片化时代
- 本人开始提供NOD32 相关升级及咨询服务
- AD最新版本ad22,如何添加封装到库中
- 知乎高赞:“那些花1500元买一条牛仔裤的人......”
热门文章
- KBEngine warring项目源码阅读(一) 项目简介和注册
- LaTeX中的保留字符(反斜杠)和特殊符号(角度、摄氏度)怎么表示?
- Symbian OS应用编程图形篇之架构
- ​定了,北京时间 9 月 16 日凌晨 1 点见。
- Windows和Ubuntu系统文件无法粘贴问题
- 【报告分享】2021年Q2中国新经济创业投资数据分析报告-IT桔子(附下载)
- 大数据必学Java知识(一):Java基础入门语法和安装
- Flutter 实现切角渐变矩形
- u-boot之u-boot-2009.11启动过程分析
- STM32F103ZET6:CubeMX配置FSMC接口驱动SSD1963-7寸 TFTLCD