JavaScript详解(二)
js的流程控制
- if语句:
if (条件表达式A){
xx;
}else if (条件表达式B){
xx;
}
else{
xx;
}
- switch语句:
switch (表达式){
case 值1:
xxx;
break;
case 值2:
xxx;
break;
default: //所有case都不满足时执行
xxx;
}
- for语句:
for(初始化语句;循环判断语句;循环执行语句){
xxx;
}
- while语句:
while(循环判断语句){
xxx;
}
- do....while语句:
do{
xxx;
}while(循环判断语句);
JavaScript的本地对象
字符型对象String
有三种定义方法:
- var s = new String('字符串内容');
- var s = String('字符串内容');
- var s = '字符串内容';
字符串的属性length可以返回其长度,可通过索引返回指定位置字符,通过+拼接。
数字转字符串:nub.tostring()
字符串转数字:Number(str)
字符串对象常用方法:
- str.substring(start,end):截取字符串,如果只传一个参数,则默认截取到最后一个为止。左闭右开。
- str.slice(start,end):切片,左闭右开,r若两个参数为负数,必须保证abs(start)>abs(end)。
- str.split("?"):切割,按照指定参数进行切割,返回一个数组。
- str.indexOf("?"):查找并返回匹配字符串出现的位置,若没找到,返回-1.
- str.toUpperCase():全部转换成大写。
- str.toLowerCase():全部转换成小写。
- str.Replace("a","b"):用b替换字符串中的a,只能替换一个。
日期对象Date
定义一个日期对象:var date = new Date();返回的格式如下:
Tue Nov 20 2018 21:22:41 GMT+0800 (中国标准时间)
获取方法:
- date.getFullYear():返回年份
- date.getMonth():返回月份,月份为实际月份减一,即十二月为0.
- date.getDate():返回日期
- date.getHours():返回当前小时
- date.getMinutes():返回当前几分
- date.getSeconds():返回当前多少秒
- date.getDay():返回周期,周日为0.
设置方法:将date换成set将变成对应的设置方法,但没有设置秒,设置年份为四位数字、设置月份范围为0~11、小时为0~23。
还可以以时间戳设置时间,单位是毫秒:date.setTime().
转换方法:原本时间格式是Tue Nov 20 2018 21:42:05 GMT+0800 (中国标准时间)
- date.toString(): Tue Nov 20 2018 21:43:55 GMT+0800 (中国标准时间)
- date.toTimeString(): 21:43:55 GMT+0800 (中国标准时间)
- date.toDateString(): Tue Nov 20 2018
- date.toLocaleString(): 2018/11/20 下午9:43:55
- date.toLocaleTimeString(): 下午9:43:55
- date.toLocaleDateString(): 2018/11/20
数学对象Math
数学对象常用属性有:
- PI :圆周率
- E:常量e,近似于2.71828
- LN2:2的自然对数
- LN10:10的自然对数
- LOG2E:以2为底的e的对数
- LOG10E:以10为底的e的对数
数学对象常用方法:
- Math.abs():取绝对值
- Math.ceil():往上取整
- Math.floor():往下取整
- Math.round():四舍五入取整
- Math.max():返回所有参数中的最大值
- Math.pow(x,y):返回x的y次幂
- Math.sqrt():返回参数的平方根
- Math.random():随即返回一个0~1的数
定时器
创建一个定时器有三种方式:
- 第一种使用setTimeout方法,这个定时器只执行一次。
timer = setTimeout(function(){
//执行语句
},1000); //timer是创建的一个定时器对象,1000是间隔时间,单位是毫秒
- 第二种使用setInterval方法,这种定时器可以一直执行下去。
timer = setInterval(function (){
//执行语句
},1000);
- 第三种也是用setInterval方法,但他是配合另外的函数使用。
setInterval(函数名,1000);
消除定时器
- clearInterval(定时器对象);
- clearTimeout(定时器对象);
定时器小例子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>定时器</title>
<style>
*{
padding:0;
margin:0;
}
div.content{
height:150px;
margin-top:50px;
text-align: center;
}
.time{
color:red;
font-weight: bolder;
font-size:19px;
}
.end_time{
color:purple;
font-size: 21px;
/*margin-top:65px;*/
}
#clock{
text-align: center;
}
</style>
</head>
<body>
<div class="content">敌军还有<span class="time" second="5">5</span>秒到达战场</div>
<div id="clock"></div>
<script>
otime = document.getElementsByClassName("time");
ocontent = document.getElementsByClassName("content");
oclock = document.getElementById("clock");
var nub = otime[0].getAttribute("second");
// alert(nub);
timer = setInterval(function(){
nub--;
otime[0].innerHTML = nub;
if (nub === 0){
ocontent[0].innerHTML = "<p class='end_time'>全军出击!!!</p>";
clearInterval(timer);
}
},1000);
function fn() {
var data = new Date;
var year =data.getFullYear();
var mon = data.getMonth()+1;
var day = data.getDate();
var hour = data.getHours();
var minute = data.getMinutes();
var second = data.getSeconds();
if (minute<10){
minute = "0" + minute;
}
if (hour<10){
hour = "0" + hour;
}
if (second<10){
second = "0" + second;
}
oclock.innerHTML = year + "年" + mon + "月" + day + "日" + hour + "时" + minute + "分" + second + "秒";
}
fn();
setInterval(fn,1000);
</script>
</body>
</html>
JavaScript详解(二)的更多相关文章
- .NET DLL 保护措施详解(二)关于性能的测试
先说结果: 加了缓存的结果与C#原生代码差异不大了 我对三种方式进行了测试: 第一种,每次调用均动态编译 第二种,缓存编译好的对象 第三种,直接调用原生C#代码 .net dll保护系列 ------ ...
- PopUpWindow使用详解(二)——进阶及答疑
相关文章:1.<PopUpWindow使用详解(一)——基本使用>2.<PopUpWindow使用详解(二)——进阶及答疑> 上篇为大家基本讲述了有关PopupWindow ...
- Android 布局学习之——Layout(布局)详解二(常见布局和布局参数)
[Android布局学习系列] 1.Android 布局学习之——Layout(布局)详解一 2.Android 布局学习之——Layout(布局)详解二(常见布局和布局参数) 3.And ...
- logback -- 配置详解 -- 二 -- <appender>
附: logback.xml实例 logback -- 配置详解 -- 一 -- <configuration>及子节点 logback -- 配置详解 -- 二 -- <appen ...
- 爬虫入门之urllib库详解(二)
爬虫入门之urllib库详解(二) 1 urllib模块 urllib模块是一个运用于URL的包 urllib.request用于访问和读取URLS urllib.error包括了所有urllib.r ...
- [转]文件IO详解(二)---文件描述符(fd)和inode号的关系
原文:https://www.cnblogs.com/frank-yxs/p/5925563.html 文件IO详解(二)---文件描述符(fd)和inode号的关系 ---------------- ...
- Android View 的绘制流程之 Layout 和 Draw 过程详解 (二)
View 的绘制系列文章: Android View 的绘制流程之 Measure 过程详解 (一) Android View 绘制流程之 DecorView 与 ViewRootImpl 在上一篇 ...
- HTTPS详解二:SSL / TLS 工作原理和详细握手过程
HTTPS 详解一:附带最精美详尽的 HTTPS 原理图 HTTPS详解二:SSL / TLS 工作原理和详细握手过程 在上篇文章HTTPS详解一中,我已经为大家介绍了 HTTPS 的详细原理和通信流 ...
- Linux dts 设备树详解(二) 动手编写设备树dts
Linux dts 设备树详解(一) 基础知识 Linux dts 设备树详解(二) 动手编写设备树dts 文章目录 前言 硬件结构 设备树dts文件 前言 在简单了解概念之后,我们可以开始尝试写一个 ...
- pika详解(二) BlockingConnection
pika详解(二) BlockingConnection 本文链接:https://blog.csdn.net/comprel/article/details/94592348 版权 Blocki ...
随机推荐
- Day 21:网络编程(2)
以课程中feiQ为例,feiQ作为一个典型的网络编程应用,用一段代码尝试给自己的发送消息 import java.io.IOException; import java.net.DatagramPac ...
- 2. react 简书 头部 (header) 样式编写
1. 在 src 下 创建 common 文件下 创建 header 文件夹下 创建 index.js #src/common/header/index.js import React, {Compo ...
- [GXYCTF2019]Ping Ping Ping
0x00 知识点 命令执行变量拼接 /?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php 过滤bash用sh执行 echo$IFS$1Y2F0IGZsYWcucGhw|base6 ...
- 使用AJAX(阿贾克斯)创建级联菜单
1. html页面 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...
- AJAX(阿贾克斯)的简单应用
1.ajax 对象的属性说明(常用的) (1)open(method,url,boolean);创建请求,method :填请求类型(get post),url :请求的地址, boolean:tru ...
- C++逐行读取txt
C++读取txt文件的时候可以使用std::ifstream来实现,如果打开文件失败的话,其变量会是空的,所以可以用来判断是否打开成功. #include <stdlib.h> #in ...
- 记Windows下初次使用dev C++进行socket编程过程
记初次接触socket编程,在devC++使用Winsock进行socket编程的一个过程,通过在devC++创建2个项目分别是server.client程序项目,感受通过socket使client与 ...
- SQL语句、PL/SQL块和SQL*Plus命令之间的区别
SQL语句.PL/SQL块和SQL*Plus命令之间的区别 原文链接:https://blog.csdn.net/liuzhushiqiang/article/details/12320941 在 ...
- linux环境java程序cpu爆表问题查证
1.top命令查找导致cup爆表的进程 2. top -H -p10832 (10832是Java进程的PID)命令找出了具体的线程 3.使用用命令 jstack 10832> jstack.t ...
- [极客大挑战 2019]EasySQL
万能密码直接登陆得到flag admin' or 1=1 #