必会示例
  • i的问题
  • qq头像完整版
  • this的错误用法
  • 按住鼠标连续加减
  • 封闭空间
  • 甲乙的问题
  • 京东轮播图
  • 苏宁延迟选项卡
  • 无限下拉菜单
  • 淘宝短发送倒计时

1、必须会的

        选项卡、按钮控制的选项卡、自动播放选项卡、数字时钟、图片时钟。
2、定时器中不能使用this.因为this变成了window对象,window就是浏览器对象。
 
3、定时发送功能
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="智能社 - zhinengshe.com">
<meta name="copyright" content="智能社 - zhinengshe.com">
<title>智能社 - www.zhinengshe.com</title>
<style>
</style>
<script>
window.onload=function(){
var oBtn = document.getElementsByTagName('input')[0];
var s = 5+1;
var timer = null;
oBtn.onclick=function(){
function countDown(){
oBtn.disabled=true;
s--;
oBtn.value='正在发送('+s+')';
if(s<0){
clearInterval(timer);
oBtn.value='重新发送';
oBtn.disabled=false;
s=5+1;
}
}
countDown();
timer = setInterval(countDown,1000);
};
};
</script>
</head>
<body>
<input type="button" value="免费获取验证码" />
</body>
</html>

4、定时器不稳定,数值越小越不稳定。  

5、i的问题

循环中加事件、事件中不能使用i....
                why?
                1、点击触发事件时循环已经完事了。
                2、变量的值不会自己改变。
                3、当循环跑完的时候i已经变成了元素的长度。
        解决办法:
                1、添加自定义属性。循环中abn[i].index=i;
                2、自执行函数
                循环中加定时器,定时器中使用i,弹了n个length
 
6、甲乙的问题,变量命名冲突解决办法
变量名冲突。
关于函数执行。
<script>
window.onload=function(){
(function (){
var oBtn= document.getElementById('btn1');
oBtn.onclick=function(){
alert(oBtn.value);
};
})(); (function(){
var oBtn= document.getElementById('btn2');
oBtn.onclick=function(){
alert(oBtn.value);
};
})();
};
</script>

7、

关于括号的问题
        封闭空间
        (function(){
              语句;
        })();// 为了 防止报错
        作用1:解决了变量名冲突的问题。
        函数调用几次就执行几次。调用几次就复制了几份。  
        作用2:解决i的问题。    
         好处:省了一个名字。

  

1.6 js基础的更多相关文章

  1. js 基础篇(点击事件轮播图的实现)

    轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...

  2. js 基础

    js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避 ...

  3. js基础练习二之简易日历

    今天学到了js基础教程3,昨天的课后练习还没来的及做,这个是类似简易日历的小案例,视频还没听完,今晚继续...... 先看效果图: 其实做过前面的Tab选项卡,这个就很好理解了,通过鼠标放在不同月份月 ...

  4. [JS复习] JS 基础知识

    项目结尾,空闲时间,又把<JS 基础知识> 这本书过了一遍,温故知新后,很多知其然不知其所以然的内容 豁然开朗. [1. 用于范围的标签] display  :inline or bloc ...

  5. JS基础(超级简单)

    1     JS基础(超级简单) 1.1 数据类型 1.1.1   基本类型: 1)        Number:特别注意:NaN的检测方法:Nan!=NaN;或者使用isNaN方法 2)       ...

  6. Node.js基础与实战

    Node.js基础与实战 Node.jsJS高级进阶 NODE原理与解析 REPL交互环境 模块与NPM Buffer缓存区 fs文件操作 Stream流 TCP&UDP 异步编程 HTTP& ...

  7. js基础到精通全面教程--JS教程

    适合阅读范围:对JavaScript一无所知-离精通只差一步之遥的人 基础知识:HTML JavaScript就这么回事1:基础知识 1 创建脚本块 1: <script language=”J ...

  8. JS基础知识总结

      js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划() ...

  9. js基础篇——call/apply、arguments、undefined/null

    a.call和apply方法详解 call方法: 语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象 ...

  10. js基础知识总结(2016.11.1)

    js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避 ...

随机推荐

  1. Delphi 中调用JS文件中的方法

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  2. XE10开发的APP对于苹果IPV6上架要求的处理(DelphiTeacher)

    1.服务器必须使用域名.不能使用IP地址2.Indy的话,域名加[]3.DataSnap的话,Params.Values['CommunicationIPVersion'] :='IP_IPv6';4 ...

  3. Linq研究

    微软在.NET 3.5中加入了LINQ技术,作为配套改进了C#语言,加入了Lambda表达式,扩展方法,匿名类型等新特性用以支持LINQ.微软同时提出了要使用声明式编程,即描述计算规则,而不是描述计算 ...

  4. Mac安装Tomcat

    1. 到Tomcat官网下载,如下找tar格式文件: http://ftp.twaren.net/Unix/Web/apache/tomcat/tomcat-8/v8.0.41/bin/apache- ...

  5. 学习笔记之Struts2—浅析接收参数

    最近自己通过视频与相关书籍的学习,对action里面接收参数做一些总结与自己的理解. 0.0.接收参数的(主要)方法   使用Action的属性接收参数 使用DomainModel接收参数 使用Mod ...

  6. Mysql数据类型《四》日期类型

    日期类型 DATE TIME DATETIME TIMESTAMP YEAR 作用:存储用户注册时间,文章发布时间,员工入职时间,出生时间,过期时间等 YEAR YYYY(1901/2155) DAT ...

  7. UML图基础

    UML(Unified Model Language)统一建模语言,是对象管理组织(OMG)制定的一个通用的.可视化的建模标准语言,可以用来可视化.描述.构造和文档化软件密集型系统的各种工作.在学习设 ...

  8. Mybatis映射.xml文件报错

    MyBatis框架里面,在dao层进行测试,控制台显示错误是:必须为元素类型 "delete" 声明属性 "resultType" 相应的.xml文件的sql语 ...

  9. .net core 2.0部署到CentOS7系统

    1.Nginx的安装(重启Nginx命令: systemctl restart nginx) 输入命令( 根据提示输入Y 即可): sudo yum install epel-release sudo ...

  10. 为什么int类型的数据可以存储超过9999?

    int占4字节,4*8=32位,10进制取值范围为 (-2^31-1)~(2^31-1):-2147483648~2147483647 package test; public class test1 ...