一. 常用的键盘事件

1. 键盘事件


2. 键盘事件对象

二. BOM

1 . 什么是BOM

2 . window对象的常见事件
页面(窗口)加载事件(2种)
第1种

window.onload 是窗口 (页面)加载事件,当文档内容完全加载完成会触发该事件(包括图像、脚本文件、CSS 文件等), 就调用的处理函数。
第二种
DOMContentLoaded 事件触发时,仅当DOM加载完成,不包括样式表,图片,flash等等。

​ IE9以上才支持!!!

3.调整窗口大小事件

注意:

①. 只要窗口大小发生像素变化,就会触发这个事件。

② . 常利用这个事件完成响应式布局window.innerWidth 当前屏幕的宽度


4 . 定时器(两种)

window 对象给我们提供了 2 个非常好用的方法-定时器。

  • setTimeout() 回调函数

  • setInterval()


5.停止定时器

 // 停止定时器
clearTimeout(timer);

6 . setInterval() 闹钟定时器

7 . location对象

URL常用属性:

location对象常见属性:

location对象的常见方法:

8 . history对象

9.navigator对象

​ navigator 对象包含有关浏览器的信息,它有很多属性,我们最常用的是 userAgent,该属性可以返回由客户机发送服务器的 user-agent 头部的值。

下面前端代码可以判断用户那个终端打开页面,实现跳转

if((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))) {window.location.href = "";     //手机} else {window.location.href = "";     //电脑}

面试常问☆:
JS运行机制:

1 . JS 是单线程

单线程就意味着,所有任务需要排队,前一个任务结束,才会执行后一个任务。如果前一个任务耗时很长,后一个任务就不得不一直等着。
这样所导致的问题是: 如果 JS 执行的时间过长,这样就会造成页面的渲染不连贯,导致页面渲染加载阻塞的感觉。

2 . 同步任务和异步任务

​ 单线程导致的问题就是后面的任务等待前面任务完成,如果前面任务很耗时(比如读取网络数据),后面任务不得不一直等待!!

​ 为了解决这个问题,利用多核 CPU 的计算能力,HTML5 提出 Web Worker 标准,允许 JavaScript 脚本创建多个线程,但是子线程完全受主线程控制。于是,JS 中出现了同步任务异步任务

① 同步

​ 前一个任务结束后再执行后一个任务,程序的执行顺序与任务的排列顺序是一致的、同步的。比如做饭的同步做法:我们要烧水煮饭,等水开了(10分钟之后),再去切菜,炒菜。

② 异步

​ 你在做一件事情时,因为这件事情会花费很长时间,在做这件事的同时,你还可以去处理其他事情。比如做饭的异步做法,我们在烧水的同时,利用这10分钟,去切菜,炒菜。

JS中所有任务可以分成两种,一种是同步任务(synchronous),另一种是异步任务(asynchronous)。
同步任务指的是:
在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务;
异步任务指的是:
不进入主线程、而进入”任务队列”的任务,当主线程中的任务运行完了,才会从”任务队列”取出异步任务放入主线程执行。

3.JS执行机制(事件循环)



作业部分:
题目描述

页面上有一个电子时钟,显示当前的年月日,时分秒,要求自动变化,具体表现如下图:

1)要求双位显示,例如:九点九分九秒,显示为09:09:09

<body><div></div><script>var div = document.querySelector('div');getTimer()setInterval(getTimer, 1000);function getTimer() {var time = new Date();var year = time.getFullYear();var month = time.getMonth() + 1;var dates = time.getDate();var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];var day = time.getDay();var h = time.getHours();h = h < 10 ? '0' + h : h;var m = time.getMinutes();m = m < 10 ? '0' + m : m;var s = time.getSeconds();s = s < 10 ? '0' + s : s;div.innerHTML = year + '年' + month + '月' + dates + '日' + arr[day] + h + ':' + m + ':' + s;}</script>
</body>

分享
Day5笔记整理点击挑战

初识JS_API基础Day4——笔记整理+JS运行机制+1课后作业+蓝瘦香菇...相关推荐

  1. js 多个定时器_从浏览器多进程到JS单线程,JS运行机制最全面的一次梳理(二)

    作者:撒网要见鱼   https://segmentfault.com/a/1190000012925872 本文接上篇 <从浏览器多进程到JS单线程,JS运行机制最全面的一次梳理(一)> ...

  2. 从浏览器多进程到JS单线程,JS运行机制最全面的一次梳理

    最近发现有不少介绍JS单线程运行机制的文章,但是发现很多都仅仅是介绍某一部分的知识,而且各个地方的说法还不统一,容易造成困惑. 因此准备梳理这块知识点,结合已有的认知,基于网上的大量参考资料,从浏览器 ...

  3. js中当等于最小值是让代码不执行_从浏览器多进程到JS单线程,JS运行机制最全面的一次梳理...

    前言 见解有限,如有描述不当之处,请帮忙及时指出,如有错误,会及时修正. ----------超长文+多图预警,需要花费不少时间.---------- 如果看完本文后,还对进程线程傻傻分不清,不清楚浏 ...

  4. web前端培训JS 运行机制的梳理

    展现形式:由于是属于系统梳理型,就没有由浅入深了,而是从头到尾的梳理知识体系, 重点是将关键节点的知识点串联起来,而不是仅仅剖析某一部分知识. 内容是:从浏览器进程,再到浏览器内核运行,再到JS引擎单 ...

  5. JS 运行机制最全面的一次梳理

    前端Q 我是winty,专注分享前端知识和各类前端资源,乐于分享各种有趣的事,关注我,一起做个有趣的人- 公众号 点击上方 前端Q,关注公众号 回复加群,加入前端Q技术交流群 最近发现有不少介绍JS单 ...

  6. Vue.js 运行机制全局概览

    Vue.js 运行机制全局概览 全局概览 Vue.js 运行机制全局概览 这一节笔者将为大家介绍一下 Vue.js 内部的整个流程,希望能让大家对全局有一个整体的印象,然后我们再来逐个模块进行讲解.从 ...

  7. 【零基础学Java】—Java运行机制(三)

    [零基础学Java]-Java运行机制(三)

  8. 浅谈 js运行机制 、宏观任务、微观任务

    **今天我们谈一下我对js 运行机制 和宏观任务.微观任务的理解** js运行机制有同步运行和异步运行 js是单线程运行模式在进入任务当中如果是同步任务 那么就直接被主线程运行 如果是异步任务 那么就 ...

  9. 【剧前爆米花--爪哇岛寻宝】初识Java,了解Java代码的运行机制及JDK,JRE,JVM等

    作者:困了电视剧 专栏:<JavaSE语法与底层详解> 文章分布:这是一篇知识点较为基础的文章,我会先将JavaSE相关的知识给罗列一遍,然后在后续的文章中会对其中重要的点再逐一进行底层剖 ...

最新文章

  1. P4146 序列终结者 平衡树 + lazy维护
  2. Java 8:对集合中的值进行排序
  3. Hadoop随笔(一)
  4. 2021广西蒙山中学高考成绩查询,广西省蒙山中学2020-2021学年高二下学第一次月考数学(文)试题及答案.doc...
  5. python基本数据类型第三周_python3第二天(基本数据类型)
  6. APP天气预报界面设计灵感
  7. U盘安装服务器2008系统蓝屏,U盘安装系统造成蓝屏如何解决
  8. 利用 Python 插件 xlwings 读写 Excel
  9. 关于java加壳和代码混淆
  10. SyntaxHighlighter3.0.83 配置
  11. Win10专业版系统Docker安装、配置和使用详细教程
  12. 一个VC编写的虚拟桌面软件
  13. 环境搭建 - 奥比中光3D摄像头(Deeyea)
  14. Vj程序设计复杂模拟题训练
  15. 用 Appium 自动收取蚂蚁森林能量
  16. 沈阳工程学院计算机网络实训报告,计算机网络实验报告(2).pdf
  17. 《太空帝国 4》(Space Empires IV)以及 xx-Mod 英文版 中文版 TDM Mod 英文版 中文版
  18. python普遍工资-python平均工资
  19. 【XBEE手册】传输、寻址和路由(Transmission, addressing, and routing)
  20. 【高效办公】批量合并excel

热门文章

  1. Autodesk 3ds Max 2021
  2. Package包机制
  3. 使用cmd修改windows电脑品牌的方法
  4. 手牵手系列之搭建Vue+Electron项目
  5. ESP8266的低功耗方案-睡眠模式
  6. IT的道德与伦理——如何看待外挂
  7. FPGA常用名词解释
  8. python数字求和_python数字求和
  9. 这篇文章可能会解决你PyQt5安装失败的问题
  10. 【通信】【1】幅度调制,频率调制,双边带与单边带,IQ与PSK与QAM——采样一定要满足奈奎斯特定理吗