今天总结:

button是双标签 ,所以要更改它的值 就要用innerHTML 改。而不是values ( asda)

setInterval(fun,1000); 按道理是1秒执行一次fun(),但实际上是:它自己这个1秒就不管了 必须等fun()里面走完
function fun(){
//花费时间2秒
}

setTimeOut(fun,1000); 这个是花2秒执行完fun()后,再等1秒执行 fun()
function fun(){
//花费时间2秒
}

假如只用setTimeOut 来完成网页上的倒计时返回首页 。一般需要用上递归调用

setInterva(fun,10000) //先等10秒先再执行fun() 一直循环

定时器是单线程的

setTimeOut(fun,0); 不代表立即执行,只是代表插入队列

img{vertical-align:top;} //取消图片底部3像素距离

转动的时钟

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>.clock {width: 600px;height: 600px;margin: 50px auto;background: url(images/clock.jpg) 0 0 no-repeat;position: relative;}div {width: 100%;height: 100%;position: absolute;top: 0;left: 0;}#hour {background: url(images/hour.png) no-repeat center center;}#minute {background: url(images/minute.png) no-repeat center center;}#second {background: url(images/second.png) no-repeat center center;}</style>
</head>
<body>
<div class="clock"><div id="hour"></div><div id="minute"></div><div id="second"></div>
</div>
</body>
</html>
<script>//    getHours() 返回 Date 对象的小时 (0 ~ 23)。 1 3//    getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。 1 3//    getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。 1 3//    getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。 1 4//    getTime() 返回 1970 年 1 月 1 日至今的毫秒数。//    / 除 x=5/2 x=2.5//    % 求余数 (保留整数) x=5%2 x=1function $(obj){return document.getElementById(obj);}setInterval(function () {var date = new Date();  //假设现在是电脑时间是 8:42var ms = date.getMilliseconds();
//      console.log(ms / 1000); //0.153 (注意:并不像java那样,是3位数除4位数等于0)var s = date.getSeconds() + ms / 1000; //57.487
//        console.log(seconds);   //58.153   秒var m = date.getMinutes()+s/60;
//        console.log(seconds/60);  //0.9692166666666666
//        console.log(minutes);    // 42.472683333333336var h = date.getHours()%12+m/60;   //因为时钟是12个小时console.log(h + ":" + m + ":" + s + ":" + ms);
//      输出  8.844000833333334 : 50.64005 : 38.403 :403$("second").style.webkitTransform="rotate("+ s*6 +"deg)";$("minute").style.webkitTransform="rotate("+ m*6 +"deg)";$("hour").style.webkitTransform="rotate("+ h*30 +"deg)";}, 1);</script>

this

this 指向的是 事件的调用者 ,或者是函数的使用者。

一般情况下,我们喜欢 var that = this;

深层次的看待定时器区别

1.setInterval是排队执行的
假如 间隔时间是1秒, 而执行的程序的时间是2秒 上次还没执行完的代码会排队, 上一次执行完下一次的就立即执行, 这样实际执行的间隔时间为2秒
2.setTimeout延迟时间为1秒执行, 要执行的代码需要2秒来执行,那这段代码上一次与下一次的执行时间为3秒.

5秒后返回首页之常用方法

发送验证码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<input type="text">
<button id="btn">发送短信验证码</button>
</body>
</html>
<script>
//   (重要) this 指向的是 事件的调用者 ,或者是函数的使用者var btn = document.getElementById("btn");var count = 5;var timer = null; //定时器的名字btn.onclick = function () {this.disabled= true;
//        alert(this);//object HTMLButtonElementvar that = this; //把当前btn对象 给thattimer = window.setInterval(sendTextMessage, 1000);function sendTextMessage() {count--;
//            alert(this); //object windowif(count>=0){that.innerHTML= "还剩"+count+"秒";}else{that.innerHTML="重新发送";that.disabled= false;count =  5;clearInterval(timer);}}}
//小奇怪:  点了第一次后,是正常5 4 3 2 1 0//但第一次完后,再点一次重新发送,它是显示 4 3 2 1 0
//    还有种 情况。 你多点几下 按钮,它计数会加快:(答案:你点一次按钮,它就开一个定时器。所以它清除定时器,没你点一次快)//解决办法:点 按钮时,先清除原来的定时器.
</script>

arguments 对象

function fn(a,b,c) { console.log(a+b+c); alert(arguments.length;)}
fn(1,3,4,6);
arguments.length; 返回的是 实参的个数。
但是这个对象有讲究,他只在正在使用的函数内使用。
arguments.callee;
返回的是正在执行的函数。 也是在函数体内使用。 在使用函数递归调用时推荐使用arguments.callee代替函数名本身。
function fn() { console.log(arguments.callee); }
这个callee 就是 : function fn() { console.log(arguments.callee); }

运算符顺序

1 ()
2 !、-、++、-- (-10) 负号 正号
3 、/、%
4 +、- 10-5
5 <、<=、<、>=
6 ==、!=、===、!==、
7 &&
8 ||
9?:
10 =、+=、-=、
=、/=、%= 赋值

几个面试题

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body></body>
</html>
<script>
//    (重要)只要有0的,都为假。运算符顺序 先&&后||
// && 如果a为假,则返回a
//    如果a为真,则返回bconsole.log(0&&1); //0console.log(1&&0); //0console.log(1&&10); //10// || 如果a为假 则返回b
//    如果a为真 则返回aconsole.log(0||1);//1console.log(1||0);//1console.log(1||5);//1console.log(5||1);//5console.log(1&&2&&3);//3console.log(0&&1&&2);//0console.log(1&&0&&2); //0//    0 |(或) 任何数都得另外一个人console.log(0||1||2); //1console.log(1||0||3); //1console.log(3&&0||2); //2console.log(3||0&&2); //3console.log(0||2&&3); //3</script>

字符串对象常用方法

转换为字符串

    • “” 2+ “” = “2” 2+”ab” = “2ab”
  1. String() 转换为字符串
  2. toString(基数) ; 基数就是进制
    var txt = 10;
    txt.toString(2) 二进制 1010
    获取字符位置方法
    charAt,获取相应位置字符(参数: 字符位置)
    charCodeAt获取相应位置字符unicode编码(参数: 字符位置)
    var txt = “abcedf”;
    比如, txt.charAt(4); 索引号一定是从0开始 返回的结果是 d
    我们根据我们输入的 位数 返回相应的 字符 。
    unicode编码 是我们字符的字符的唯一表示

===============================

转载于:https://www.cnblogs.com/czy16/p/8437095.html

九阴真经 第二层 第9天相关推荐

  1. 九阴真经 第二层 第6天

    . 转载于:https://www.cnblogs.com/czy16/p/8407415.html

  2. 网络协议osi模型_网络协议|OSI模型第二层数据链路层

    MAC 地址 OSI第二层的作用,使局域网中的机器能互相连接并建立通信,还能够侦测传输错误.要向局域网中的其他机器发送信息,就需要借助 MAC 地址,来指定发送信息的目的地. MAC 地址其实就是网卡 ...

  3. 第二层、三层、四层交换机原理

     1. 二层交换机  众所周知,第二层交换机,是根据第二层数据链路层的MAC地址和通过站表选择路由来完成端到端的数据交换的.  二层交换机具体的工作流程如下: (1) 当交换机从某个端口收到一个数据包 ...

  4. 无线射频专题《无线局域网排错,第二层重传问题3@多径现象》

    多径(Multipath)是一种传播现象,指两路或多路信号同时或相隔极短时间到达接收天线.由于波的自然扩展,在不同环境下反射.扩散.衍射和折射等传播行为也会有区别地发生.信号可能发生的反射.散射.折射 ...

  5. TCP/IP模型第二层--数据链路层

    数据链路层 一.交换机 switch 1.二层交换机:工作在数据链路层 2.三层交换机:工作在数据链路层和网络层,具有路由功能,可以充当一个无线路由器 二.以太网和以太坊 1.以太网 Ethernet ...

  6. 区块链第二层扩容方案Plasma和Rollups

    本文首发在本人知乎专栏 https://zhuanlan.zhihu.com/p/361016799 目前的permissionless区块链系统比如以太坊和比特币存在扩展性问题,表现为每秒所能处理的 ...

  7. 前端学习(1926)vue之电商管理系统电商系统之美化一层循环的UI结构for循环渲染第二层结构

    目录结构 router.js import Vue from 'vue' import Router from 'vue-router' import Login from './components ...

  8. 无线射频专题《无线局域网排错,第二层重传问题7@远近问题》

    多个客户端之间的发射功率设置不一致也可能导致在基础服务集(BSS)内的通信出现问题.如果大功率客户端离AP很近,离AP较远的低功率客户端可能无法被AP听到.大功率客户端提高了AP附近的本底噪声.较高的 ...

  9. 向着第二层 第一阶段第二十四天

    唉,折腾了一天一夜,在飞机上坐了6个多小时愣是没有睡着,到了北京买回来的车票居然没有座位,又站了一天.MB的北京的地铁居然TMD没有扶梯,尼玛还能再坑爹一点吗!!!让我拿着这么多东西这么重的箱子上上下 ...

最新文章

  1. 零基础参加java培训主要学什么
  2. Linux下安装JDK,Tomcat,Mysql详细教程
  3. helm命令的基本使用
  4. 删除数据库所有表 序列号
  5. QT Creater/VS2013的使用(快捷键,调试等)
  6. threejs基础示例
  7. Linux 命令(62)—— ar 命令
  8. 程序员面试金典——9.1上楼梯
  9. Hadoop可视化与交互式工具:Zeppelin和Hue
  10. 营业执照在线生成_营业执照用旧的?办新的?办电子的?丨现在选哪个都很“好办”...
  11. pandas window中涉及的offset是什么意思
  12. Java多线程并发面试
  13. 国际信用卡如何支付(流程演示图)
  14. PhantomJS将网页保存为图片
  15. 青少年等级考试【Python通关干货】(一级)
  16. 干净利落的消除网页全局事件监听,匿名函数也可以搞定,一文让你掌握同步CSDN文章到公众号的技巧,从此远离繁重的编辑工作
  17. 流媒体开发中H264编码NALU结构介绍与I帧判断方法
  18. 十月常见算法考题、最长递增子序列,Leetcode第300题最长上升子序列的变种,我没见过乔丹,今天詹姆斯就是我的神!
  19. 移动互联网引发大融合与大变革
  20. latex公式:列向量、矩阵、方程组

热门文章

  1. php mysql 安装错误_Apache+php配置 Mysql安装出错解决办法
  2. Array Splitting CodeForces - 1197C
  3. L1-011 A-B (20 分)(c语言实现)
  4. git submodule使用
  5. 深入理解BN、合并conv+BN公式推导
  6. mvc4 ajax url参数,MVC4.0中Ajax通过a标签向后台Action传递参数问题?
  7. printf函数与主函数问题
  8. 广西2021高考成绩什么时候可以查询,2021年广西高考成绩什么时候公布出来,几月几号几点钟可以查询...
  9. 反距离加权插值法例题_GMS插值中的反距离权重法(Inverse distance weighted)
  10. python 写linux mysql_(linux)python之mysql数据库操作环境搭建