- 博客(11)
- 收藏
- 关注
原创 javascript中的事件模型
一.事件与事件流javascript中的事件,可以理解就是在HTML文档或者浏览器中发生的一种交互操作,使得网页具备互动性,常见的有加载事件,鼠标事件,自定义事件等用于DOM是一个树结构,如果在父子节点绑定事件的时候,当触发子节点的时候,就存在一个顺序问题,这就涉及到事件流的概念事件流都会经历三个阶段:事件捕获阶段(capture phase) 处于目标阶段(target phase) 事件冒泡阶段(bubbing phase)...
2022-04-16 17:27:00
1863
1
原创 javascript中的防抖与节流
一、防抖与节流是什么本质上是优化高频率执行代码的一种手段如:浏览器的 resize、scroll、keypress、mousemove 等事件在触发时,会不断地调用绑定在事件上的回调函数,极大地浪费资源,降低前端性能为了优化体验,需要对这类事件进行调用次数的限制,对此我们就可以采用 防抖(debounce) 和 节流(throttle) 的方式来减少调用频率定义 节流: n 秒内只运行一次,若在 n 秒内重复触发,只有一次生效 防抖: n 秒后在执行该事件,若在 n...
2022-04-15 20:38:36
1343
原创 javascript数组中的方法
一、操作方法数组基本操作可以归纳为 增、删、改、查,需要留意的是哪些方法会对原数组产生影响,哪些方法不会下面对数组常用的操作方法做一个归纳增下面前三种是对原数组产生影响的增添方法,第四种则不会对原数组产生影响 push() unshift() splice() concat() push()push()方法接受任意数量的参数,并将它们添加到数组的末尾,返回数组的最新长度unshift()unshift()方法在数组开头添加任意多...
2022-04-15 19:48:52
601
原创 js中的== 和 ===区别,分别在什么情况使用
一、等于操作符等于操作符用两个等于号( == )表示,如果操作数相等,则会返回 true遵循以下规则:如果任一操作数是布尔值,则将其转换为数值再比较是否相等let result1 = (true == 1); // true如果一个操作数是字符串,另一个操作数是数值,则尝试将字符串转换为数值,再比较是否相等let result1 = ("55" == 55); // true如果一个操作数是对象,另一个操作数不是,则调用对象的 valueOf()方法取得其原始值...
2022-04-15 16:30:56
537
转载 Vue项目商品汇项目
套路:前端Vue项目任何需求套路一.章法套路(非常重要):1.html + css (标签和样式搞定)2.铺设数据(调整内容,可能调用接口拿到数据)3.JS(交互/校验...效果),前端拿到要传递给后台的值4.与后台交互(调用后台接口,回显返回数据提示等)二.开发一个前端模块可以概括为以下几个步骤:1.写静态页面、拆分为静态模块;2.法请求(API)3.vuex(action,mutation,state三连环操作)4.组件获取仓库数据,动态展示1.vue
2022-04-11 21:25:05
627
原创 javascript对象读取两种属性的区别
对象的引用可以使用点运算符(.)或者中括号运算符([ ])来访问属性,需要注意的是,在点运算符之后书写的属性名会被认为是标识符,而中括号运算符内的则被转为字符串值的式子。两种运算符的选择都没有问题,点运算符比较简洁,中括号运算符通用性比较高。能使用点运算符的一定可以使用中括号运算符,反之则不行。下面几种情况只能使用中括号运算符:1.使用了不能作为标识符的属性名的情况2.将变量作为属性名使用的情况.3.将表达式的求值结果作为属性名使用的情况例子1:包含数值或者短横(-)的字符串不能作为
2022-04-08 13:26:16
533
转载 axios的介绍与使用
一.什么是axios?axios是前端最流行的ajax请求库,react/vue官方都推荐使用axios发ajax请求。说到axios我们应该了解ajax,因为axios是基于ajax封装出来的。在旧浏览器页面向服务器发请求数据的时候,因为返回的是整个页面的数据,页面都会强制刷新,对于用户来说不是很友好,而且浪费资源,从服务器端发送给服务器的数据是整个页面的数据,浪费网络资源。基于前面的问题,我们需要修改的是页面的部分数据,不希望刷新页面,所以异步网络请求就诞生了。ajax:异步网络请求,aja
2022-04-07 17:21:36
2083
1
原创 npm 和 yarn的区别
一.npm的不足:1.npm install的时候很慢,特别是新的项目拉取下来的时候,需要等好久,删除node_modules,重新install时也依旧如此。2.同一个项目,安装的时候无法保持一致性,由于package.json文件中的版本号的特点,下面的三个版本号在安装的时候就代表不同的含义。"6.0.3"表示安装指定6.0.3版本,"~6.0.3"表示安装6.0.X中最新的版本,"^6.0.3"表示安装6.X.X中最新的版本。这就很麻烦,常常会出现一个问题,有的人安装是正常的,有的人安装由于版
2022-04-07 14:56:50
4434
原创 javascript中reduce()基础练习题
目标: 数组的reduce方法 - 累积运算 语法 数组变量名.reduce((sum, value) => { 向sum变量上累加值 一定要return 值给下一次循环sum初始值 }, 0) 执行过程: 每个值执行一次函数体, 每次函数体执行都是独立的(sum也是独立的) 返回值: 整个reduce方法在原地的结果, 最后累加的积...
2022-04-07 13:39:52
904
转载 javascript数组中的reduce()方法
reduce()方法接受一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值注意:reduce()对于空数组是不会执行回调函数的详细讲解reduce()方法中的参数问题arr.reduce(callback,initialValue)reduce会为数组中的每个执行回调函数。回调函数(callback)有四个参数:如下图prev:上一次执行完返回的值(这里的prev也包括初始值)item:当前的元素(当前执行回调函数的元素)index:当前元素的下标ar
2022-04-07 13:28:46
216
原创 js随机数
js产生随机数通常是使用javascript的Math.random()函数常用的几种方法:Math.random()表示:结果为0-1之间(包括0,不包括1);Math.floor(Math.random()*10+1)表示结果为1-10之间的一个随机数Math.floor(Math.random()*24)表示结果为0-23间的随机数1.Math.random();返回0-1之间的随机数,可能为0,但是总是小于1,[0,1)返回指定范围随机数(m~n)之间的范围的公式为:Math
2022-04-06 22:56:54
43399
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人