页面中有一个顶级对象: document -> 操作页面元素
 
浏览器中也有个顶级对象: window -> 页面中所有的东西都是属于window的
 
变量属于window
var num = 10;
console.log(window.num);
 
函数属于window
function fn(){
console.log('今天工地的砖头格外的烫手');
}
window.fn();
 
因为页面中所有的东西都是属于window的, 所以window可以省略
 
name变量属于window, 不要去使用
console.log(name);
 
console.log(top);  可以使用top代替window
console.log(window);
 
window.document.write  将一段HTML代码或是一段文本内容输出到显示器上(网页面中写入).
window.document.write('<h1>今天工地的砖头格外的烫手,马路对面的兰博基尼依旧是我遥不可及的梦想,微风吹过我的脸庞,我很迷茫,多希望有位富婆能让我放下所有的伪装,走进她500平的心(新)房</h1>')
 
onload 页面加载的时候,按钮还没创建 -> null
页面加载事件 -> 等到页面中所有的内容(标签、属性、文本、图片)都加载完毕才执行
window.onload = function () {
document.getElementById('btn').onclick = function () {
console.log('同学,吸烟有害健康');
};
}
 
document.getElementById('btn').onclick = function(){
// 页面跳转到指定地址
location.href = 'https://www.baidu.com';
location.assign('https://www.baidu.com');
// location.reload();
// location.replace('https://www.baidu.com');打开之后不能返回.
// location.pathname = 'https://www.baidu.com';
}
 
history用于存储浏览器的历史信息
forward();表示返回到下一页面,效果相当于go(1);
back();表示返回到上一页面,效果相当于go(-1);
go();用于指定页的跳转,比如go(-2)表示返回到浏览过的前两个页面
document.getElementById('btn2').onclick = function(){
location.href = 'https://www.cnblogs.com/fengdashuai/';
history.forward();
history.back();
history.go(1);
}
 
console.log(navigator.userAgent);获取浏览器的信息.
 
// 定时器 -- 重点
// 参数1: 函数
// 参数2: 时间, 单位是毫秒
// 返回值: 定时器的id
// 特点: 反复执行
var timeId = setInterval(function(){
alert('哈哈, 我弹出来了');
},3000);
document.getElementById('btn').onclick = function(){
clearInterval(timeId);
}
setInterval定时器
clearInterval清理定时器

 
 
// 定时器 -- 重点
// 参数1: 函数
// 参数2: 时间, 单位是毫秒
// 返回值: 定时器的id
// 特点: 一次性的 -> 也要清理定时器
// JS常见的内存陷阱: 被遗漏的定时器、过多的全部变量、闭包
var timeId = setTimeout(function(){
alert('下不为例');
},3000);
document.getElementById('btn').onclick = function(){
clearTimeout(timeId);
};
 
 
定时器图片抖动.

最新文章

  1. [SDOI2013]方程
  2. sql server 对象资源管理器(一)
  3. eclipse闪退
  4. MVC中的@Html.DisplayFor如何控制日期的显示格式
  5. HBase 的存储结构
  6. 20145305《JAVA程序设计》课程总结
  7. MyEclipse 选中属性或方法后 相同的不变色了?
  8. Mybatis动态SQL
  9. poj1011 Sticks(dfs+剪枝)
  10. Windows下安装Apache2.4+PHP5.4+Mysql5.7
  11. Linux程序设计学习笔记----多线程编程线程同步机制之相互排斥量(锁)与读写锁
  12. 各浏览器的cookie的name个数/最大容量限制测试
  13. 【转】JDBC学习笔记(1)——JDBC概述
  14. 解决Setting property &#39;source&#39; to &#39;org.eclipse.jst.jee.server的问题
  15. [代码]解析nodejs的require,吃豆人的故事
  16. CnPack IDE 专家包(CnWizards)显示代引用单元列表
  17. VS2015 发布常见问题
  18. JSP中三大指令
  19. nodejs中引用其他js文件中的函数
  20. Docker:一个装应用的容器

热门文章

  1. percona mysql5.7进程出现大量unauthenticated user解决记录
  2. setInterval调用ajax回调函数不执行的问题
  3. Oracle 自动生成的视图VM_NSO_1
  4. Spring Boot 使用YAML配置
  5. EasyRTMP结合海康HCNetSDK获取海康摄像机H.264实时流并转化成为RTMP直播推流(附源码)
  6. Can&#39;t accept UDP connections java.net.BindException: Address already in use_解决方案
  7. 原生JavaScript常用本地浏览器存储方法二(cookie)
  8. spring boot如何打印mybatis的执行sql
  9. 对String对象进行JSON序列化
  10. vue中使用animate.css实现动画