自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 JS的循环方式

for循环:每次都会检查数组长度。 for in循环: 会分析 array的属性。 for Each循环: 不能遍历对象。

2022-08-21 17:09:58 48

原创 HTML语义化理解

HTML语义化增强了代码可读性,让开发人员可以更加的去开发网页。 HTML语义化增强了代码互用性,让其他开发人员可以更好的去阅读,有利于后续更新。 使页面结果更加清晰,让浏览器和搜索引擎可以更容易解析处理,有利于搜索引擎优化。

2022-08-21 17:06:26 63

原创 set和map的区别

set类似于数组,所以可以用于数组去重,以及使用扩展运算符将其转换为数组类型,没有get方法,set保存的类数组类型,是值的集合,set只有值,元素不能重复且会自动排序。 map的key可以是任意数据类型,map保存键值对,任何值都可以作为键值的值,map有get方法可以查看可以对应的value。

2022-08-21 16:56:38 79

原创 JSON和XML

JSON相比较XML数据体积更小,传递速度更快。 JSON和JS交互更方便,更容易解析处理,数据交互性更好。 JSON对数据描述性相比较XML较差。

2022-08-21 16:31:15 36

原创 call/apply/bind区别

bind是绑定this的指向,会返回一个新的函数。 call和apply是this的指向。 call和bind传参方式是参数列表传递。 apply传参是数组形式传递。 bind是绑定this的指向,会反回一个方法,只有当被调用时才会执行,而call和apply会立即执行。 call/apply/bind都可以用于改变this指向。

2022-08-21 16:19:25 59

原创 JS的DOM事件流/事件委托

dom事件流两个过程:捕获阶段和冒泡阶段,事件触发是在冒泡阶段。 捕获阶段是从顶至底,冒泡阶段是从低至顶。 举个例子: 我在一个div中定义了三个div,给了样式,绑定了点击事件触发输出对应的ABC,但结果是cba这就是冒泡原理事件是在冒泡阶段执行的。 事件委托:也叫事件委派 ​​​​​​​事件委托是利用冒泡,不是在每个子节点上设置事件监听器,而是将事件监听器设置在其父节点上,然后利用冒泡原理影响每个子节点。

2022-08-21 16:07:59 56

原创 防抖/节流(简单概括)

解决方式三种:时间戳,定时器(结合事件与箭头函数去操作),(第三种不太记得了) 需要解决防抖与节流问题主要因为:很多时候因为用户操作过快或其他操作,导致触发事件过于频繁,则损耗性能。 解决方法: 防抖:只执行最后一次 节流:控制执行次数

2022-08-20 09:13:07 71

原创 作用域/作用域链

作用域 1.作用域就是在一定的空间内可以对数据进行读写操作,这个空间就是数据的作用域。 作用域链 2.作用域链就相当于是层层查找,例如: 全局中var定义了一个a及字符串内容ABC, 写一个function fun1 内部再写一个function fun2 然后: console.log(a)获取a 那么fun2本身获取不到则向上一层fun1寻找,还是找不到则找到了全局这里。

2022-08-20 09:03:09 35

原创 JS中的基本类型和引用类型 / 判断变量的类型

基本类型 string,number,boolead,undefined,null基本类型。 引用类型 1.Object中的复杂类型分为了很多其他类型,比如:​​​​​​​ array,function,date,普通对象,函数对象,数组对象,正则对象,set,map,json对象等。 判断变量的类型 1.可以通过typeof或者instanceof以及constructor(constructor也是prototype显示原型的属性,指向构造函数)。 但是ty

2022-08-20 08:53:46 166

原创 全等===与相等==,强制类型转换与隐式类型转换。

全等=== 1.全等属于深比较,不止是数值的比较,还会判断类型,且它不会自动转换类型。 相等== 1.相等属于浅层次比较,且会自动转换类型。 强制类型转换 1.函数强制转换类型方式有:String(),Number(),Boolean()。 隐式类型转换 2.隐式类型转换一般发生在加减乘除,大于,小于等过程中,例如: 1.字符串加数字 (数字会转换为字符串) 2.数字减字符串 (字符串会转换为数字),如果字符串不是纯数字,则结果为null 3.乘,除,大于,小于都跟减的转

2022-08-20 08:35:21 75

原创 new对象时内部做了什么

1.先创建了一个空对象。 2.将空对象的原型,指向构造函数的原型。 3.将空对象作为构造函数的作为上下文(改变this指向)。 4.构造函数返回值的处理判断。

2022-08-19 08:50:03 116

原创 JS中的原型和原型链

1.每个函数都有一个prototype属性称为显示原型。 2.每个实例对象都有一个__proto__属性称为隐式原型。 3.每个实例对象的隐式原型__proto__指向的是自身构造函数的属性prototype显示原型。 4.每个prototype原型都有一个constructor属性,指向它关联的构造函数。 原型链就是获取某个对象的属性时没有这个属性,就去原型中找,原型中没有就去原型的原型找,直到找到原型的顶层(Object.Prototype),最后为null ...

2022-08-18 23:06:56 48

原创 var,let和const的区别

1.var定义的是全局变量,自身变量提升机制,且可以重复定义变量名。 let 与 const 属于es6新特性 2.let的变量名不能修改,且没有变量提升机制。 3.const的定义的对象属性是可修改和添加的,但是不能修改对象的地址(指针),const声明的是常量,和let一样没有变量提升机制。 为什么let和const没有变量提升机制呢? 因为它们属于es6设定的块级作用域内才有效,它们也不能重复声明变量,它们也不能绑定全局对象等等 ...

2022-08-18 22:28:30 89

原创 this指向问题

全局作用域 / this指向 / 改变this指向 1.在普通函数和定时器中this的指向是全局对象Window 2.在调用方法时this的指向是调用它的对象。 3.在箭头函数中没有绑定this 4.在构造函数中this指向的是构造函数的实例。 5.修改this指向的三种方式(call),(apply),(bind)的作用是在函数运行时改变this的指向。 ...

2022-08-18 22:03:28 34

原创 虚拟dom和diff算法是什么

diff 算法 是什么: 简单来说: 1.diff算法是精细化对比最小量的更新。 2.diff算法可以让Dom以最小的代价进行更新。 3.diff算法会优先遍历,以及对比差异,在代码中会对新旧Dom树进行深度遍历,以及每个节点都会有一个标记。 虚拟dom是什么: 1.web界面由dom树(也叫数据结构)构建,当其一部分发生变化,就是某一个节点发生了变化。 2.设计虚拟dom就是为了解决浏览器性能消耗的问题,若用户一个操作产生多次更新dom动作,虚拟dom不会直接操作dom,它会将这10次.

2022-08-18 21:22:33 187

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除