相关文章推荐
大气的苹果  ·  python中urllib.urlretri ...·  5 天前    · 
大方的泡面  ·  修改vscode launch.json, ...·  1 年前    · 
乖乖的香菜  ·  docker - E: gnupg, ...·  1 年前    · 
英勇无比的仙人掌  ·  ReflectionUtils ...·  1 年前    · 

BOM是浏览器对象模型

window是浏览器内置中的全局变量,我们所学的所有web apis的知识内容基于window对象实现的

window对象下包含navigator、location、document、history、screen属性,即所谓的BOM

document是实现DOM的基础,它其实是依附于window的属性

注:依附于window对象的所有属性和方法,使用的时候可以省略window

延时函数:

定时器---延时函数

javascript内置的一个用来让代码延时执行的函数,叫setTimeout

setTimeout(回调函数,等待的毫秒数)

setTimeout仅仅只执行一次,所以可以理解为就是把一段代码延迟执行,平时省略window

let timer =  setTimeout(回调函数,等待的毫秒数)

clearTimeout(timer)

setinterval和settimeout区别:

js执行机制:(面试常见)

javascript语言的一大特点就是 单线程, 也就是说, 同一时间只能做一件事 。这是因为JavaScript这门脚本语言诞生的使命所致---JavaScript是处理页面中用户1的交互,以及操作DOM而诞生的。例如:我们对某个DOM元素进行添加和删除操作,不能同时进行。

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

同步:前一个任务结束后再执行后一个任务,程序的执行顺序和任务的排序顺序一致的、同步的

异步:前一个任务未结束,就执行后一个或者多个任务,多个任务同时进行的,称为异步

同步任务都在主线程上执行,形成一个 执行栈 (相当于立即执行函数,马上做的)

异步任务:

js的异步是通过回调函数实现的。

一般而言,异步任务以下三种类型:

1、普通事件,如click,resize等

2、资源加载,如load、error等

3、定时器,包括setinterval、settimeout等

异步任务相关添加到 任务队列 中(任务队列也称为消息队列)

js执行机制:

1、先执行 执行栈中的同步任务

2、异步任务放入任务队列中

3、一旦执行栈中所有的同步任务执行完毕,系统就会按次序读取 任务队列中的异步任务, 于是被读取的异步任务结束等待状态,进入执行栈,开始执行

这样所导致的问题是:如果js执行的时间过长,这样就会页面的渲染不连贯,导致页面渲染加载阻塞的感觉。诞生的使命所致---JavaScript是处理页面中用户1的交互,以及操作DOM而诞生的。window是浏览器内置中的全局变量,我们所学的所有web apis的知识内容基于window对象实现的。history的数据类型是对象,该对象和浏览器地址栏的操作相对应 ,如前进、后退、历史记录等。注:依附于window对象的所有属性和方法,使用的时候可以省略window。search属性获取地址中携带的参数,符号? 2.2 window .innerHeight属性, window .innerWidth属性 2.3 window .pageXOffset属性, window .pageYOffset属性 2.4 iframe元素 2.5 Navigator 对象 2.5.1 Navigator.userAgen...
方法一:(最简单也是最笨的方法) window .a = function(){} window .b = function(){} window .c = function(){} 方法二:(利用jq的extend方法) window .c = function(){}$.extend( window ,{ a:function(){}, b:function(){}, c:...
1. Window 对象 JavaScript 中的全局 对象 ,它代表了浏览器窗口或框架。 2. Window 对象 包含了浏览器窗口的所有属性和方法,如窗口大小、位置、打开新窗口、关闭窗口等。 3. Window 对象 还包含了一些特殊的 对象 ,如document 对象 、location 对象 、history 对象 等,它们可以用来操作浏览器窗口中的文档、URL地址和历史记录等。 4. 在浏览器中,每个打开的窗口都有一个对应的 Window 对象 ,可以通过 window .open()方法打开新窗口,并返回一个新的 Window 对象 。 5. Window 对象 还可以通过iframe标签创建一个内嵌的窗口,通过 window .frames属性访问内嵌窗口的 Window 对象 。 6. 在 JavaScript 中,可以直接使用 window 对象 的属性和方法,也可以省略 window 关键字直接使用。例如,alert()方法等价于 window .alert()方法。