字符串常用方法
通过下标找字符串
- charAt() 通过下标找字符
- charCodeAt() 通过下标找到字符的unicode编码;
通过字符找下标;
- indexOf() 从前往后找,找到返回对应内容的索引,找不到返回-1;
- lastIndexOf() 从后往前找,找到返回对应内容的索引,找不到返回-1;
字符串的截取和查找
- str.slice(n,m) 从索引n找到索引m,包前不包后;slice可以取负值;
- str.substring(n,m) 从索引n找到索引m,包前不包后;
- slice和substring的功能一样,但是slice可以取负值,而substring不能取负值;
- str.substr(n,m) 从索引n开始,截取m个;
字符串转数组
字符串转大小写
- toUpperCase() 转大写;
- toLowerCase() 转小写;
字符串跟正则配合的方法;
- replace(要替换的字符串/正则,替换成什么/cb的返回值) 字符串替换
- search(查找的字符串/正则) 找到返回对应索引 找不到返回-1
- split(切割形式/正则)
- match(字符串/正则) 可以把捕获到的内容,以数组的形式返回;如果是捕获一个,返回的数组有三项:1)item 2)index 3)input
如果捕获到一堆,把所有捕获到的内容,以数组的形式返回;他主要用来配合正则
i++ 和 ++i的区别:
- i++ 先运算后++;++只是针对变量自身的累加,跟运算没有关系;
- 先++ 后运算; ++参与了运算;
定时器
- setInterval(clearInterval)隔一段时间触发一次
- setTimeout (clearTimeout) 时间到的时候只执行一次;
日期对象
- 定义一个日期对象 var oDate=new Date()
- 获取现在距离 1970年1月1日 00:00:00 的毫秒数 oDate.getTime();
- oDate.getFullYear()
- oDate.getMonth()+1 记得获取月份一定要+1;
- oDate.getDate() 日
- oDate.getDay() 星期 注意:星期日是0;
- oDate.getHours()
- oDate.getMinutes()
- oDate.getSeconds()
判断
- if...else....
- switch。。case
- 三目 也叫做 三元表达式
数字如何转为字符串
+ ''+num
倒计时
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>圆梦源:勿忘初心,方得始终</title>
<style>
div{
font-size: 30px;
}
div span{
font-size: 50px;
color: #ff0000;
}
div span.close{
color: #cccccc;
}
</style>
</head>
<body>
<div>距离下课还有 <span>00天 00 : 00 : 00</span></div>
<script>
//核心思路:拿到两个日期对象,求出两个日期对象之间的毫秒差,转成秒差;然后通过秒进行秒转换,转成时,分,秒
//注意:1)一位数要转成两位 2)如果秒为负值的时候,要做处理;
function toDou(n) {
return n>=0 && n<10? '0'+n:''+n;
}
function countDown() {
var oSpan=document.getElementsByTagName('span')[0];
var timer=null; //现在没有,以后会有;
//1:获取日期对象
var oDate=new Date();
//2:设置未来的日期对象 new Date('2017/7/12 18:00:00')
//3:核心:求未来和现在之间的毫秒差,并且把毫秒转成秒;
/* var s=Math.floor((new Date('2017/7/12 18:00:00').getTime() - oDate.getTime())/1000);*/
var newDate=new Date('2017/7/12 17:21:30');
var s=Math.floor((newDate-oDate)/1000);
//注意:当s<=0的时候,已经下课了
if(s<0){
oSpan.innerHTML='你来晚了,我们已经下课了';
oSpan.className='close';
clearInterval(timer);
return; //阻断程序执行的作用
}
//24*60*60=86400 秒
var d=Math.floor(s/86400);
s%=86400;//拿到剩余的秒数;
var h=Math.floor(s/3600);
s%=3600;
var m=Math.floor(s/60);
s%=60;
oSpan.innerHTML=toDou(d)+'天 '+toDou(h)+' : '+toDou(m)+' : '+toDou(s); //字符串拼接
}
countDown();//这里为了防止1秒钟的空白;
timer=setInterval(countDown,1000);
</script>
</body>
</html>
时钟
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>圆梦源:勿忘初心,方得始终</title>
<style>
body{
font-size: 50px;
}
</style>
</head>
<body>
<script>
//一位数转两位数;
function toDou(n) {
//三目,也叫做三元表达式; 条件? 语句1 :语句2;
return n>=0 && n<10? '0'+n:''+n;
//if(条件) {语句1} else{语句2}
/*if(n>0 && n<10){
return '0'+n
}else{
return ''+n;
}*/
}
function clock() {
var oDate=new Date();
var y=oDate.getFullYear();
var m=oDate.getMonth()+1;
var d=oDate.getDate();
var H=oDate.getHours();
var M=oDate.getMinutes()ff;
var S=oDate.getSeconds();
var str=y+'-'+toDou(m)+'-'+toDou(d)+' '+toDou(H)+':'+toDou(M)+':'+toDou(S);
document.body.innerHTML=str;
};
clock();//直接调用函数,可以让函数立即执行;
setInterval(clock,1000);
</script>
</body>
</html>