输入URL回车后

浏览器读取到用户输入到URL链接开始解析,解析出域名和协议,如果是get请求还要解析出请求参数,这个时候开始构建http请求,如果本地系统中有缓存的资源,则直接加载。如果没有缓存则开始查找是否有域名对应的服务器IP地址,首先从浏览器缓存中找,浏览...

addEventListener和onClick()

addEventListener是为元素绑定事件的方法,接收三个参数: 第一个参数:绑定的事件名 第二个参数:执行的函数 第三个参数: false:默认,代表冒泡时绑定 true:代表捕获时绑定onclick和addEventListener事件区...

闭包

​ 在一个javascript函数a中可以定义另一个函数b,这个函数a通常通过return的方法将这个内部函数b返回,函数b能够记住函数a中的变量,即便函数a已经执行完毕。看起来像内部函数关闭了外部函数的作用域。

异步解决方案

在前后端分离开发的场景下,前端发起一个请求,如果只有一个线程且在一个线程中等待将非常影响用户体验。比如站在用户角度,在网页提交了一个文生图的请求,在后端完成图片的生成过程中,用户不能滚动鼠标浏览其他内容,用户浏览其他内容这个功能的实现要依托于线程...

事件流

事件流包含三个阶段,捕获阶段、目标阶段、冒泡阶段。事件流实现流对页面元素事件的处理,当用户点击时,先进入捕获阶段,然后到达目标阶段,最后执行冒泡阶段。其中有一种高效的事件处理机制-事件委托。事件委托是基于冒泡构建的,可以让事件的处理更加优雅同时提...

箭头函数和普通函数的区别

箭头函数不能作为构造函数,普通函数可以作为构造函数。普通函数有自己的this, 箭头函数没有自己的this, 箭头函数继承外部的this。箭头函数没有自己的augments对象,普通函数有自己的augments对象。箭头函数可以简化代码,比如对数组元...

JavaScript判断数据类型

首先可以通过typeof判断,typeof判断基本数据类型没有问题,判断引用类型比如Array结果是Object, 不够准确,此时需要用instanceof来判断,instanceof可以判断对象的类型(比如对象是哪个类的实例),Array.is...

原型和原型链

JavaScript中任何一个函数都可以作为构造函数,只要通过new关键字调用,任何一个函数创建后,JavaScript框架会为这个函数创建一个prototype属性,在这个prototype上定义的属性和方法在所有通过prototype所在的函...

盒子模型

盒子模型是css布局的基础,描述了以盒子为单位来布局页面的方式。每个盒子有四个属性:内容,内边距,边框,外边距。内容是最核心的东西,起传达信息的作用,可以理解为最有价值的部分。内边距是内容与边框之间的空白。边框不用说了。外边距当前盒子和旁边盒子的间距...

CSS选择器优先级总结

内联样式的优先级最高,权重为1000,id的选择器优先级比class的高,id选择器的权重为100,class的选择器优先级比标签选择器高。类选择器和属性选择器的权重为10,元素选择器权重为1。当选择器表达式权重相同时,后定义的规则会覆盖前面的规则。

11314151617