- 博客(49)
- 收藏
- 关注
原创 重学前端-原型
这段代码创建了一个“猫”对象,又根据猫做了一些修改创建了虎,之后我们完全可以用 Object.create 来创建另外的猫和虎对象,我们可以通过“原始猫对象”和“原始虎对象”来控制所有猫和虎的行为。这个模型在 ES 的各个历史版本中并没有很大改变,但从 ES6 以来,JavaScript 提供了一系列内置函数,以便更为直。利用这三个方法,我们可以完全抛开类的思维,利用原型来实现抽象和复用。第二种方法是修改构造器的 prototype 属性指向的对象,它是从这个构造器构造出来的所有对象的原型。
2023-10-19 14:24:10
224
原创 重学前端-js类型
所以,字符串的最大长度,实际上是受字符串的编码长度影响的。我们定义了一个对象 o,o 有 valueOf 和 toString 两个方法,这两个方法都返回一个对象,然后我们进行 o*2 这个运算的时候,你会看见先执行了 valueOf,接下来是 toString,最后抛出了一个 TypeError,这就说明了这个拆箱转换失败了。这里输出的结果是 false,说明两边不相等的,这是浮点运算的特点,也是很多同学疑惑的来源,浮点数运算的精度问题导致等式左右的结果并不是严格相等,而是相差了个微小的值。
2023-10-19 14:22:57
213
原创 webpack
因为 webpack 在进行打包的时候,对静态文件的处理,例如图片,都是直接 copy 到 dist 目录下面。但是对于本地开发来说,这个过程太费时,也没有必要,所以在设置 contentBase 之后,就直接到对应的静态目录下面去读取文件,而不需对文件做任何移动,节省了时间和性能开销。这个插件在生产环境用的频率非常高,因为生产环境经常会通过 hash 生成很多 bundle 文件,如果不进行清理的话每次都会生成新的,导致文件夹非常庞大。Loader的作用是将webpack不认识的内容转换为认识的内容。
2023-10-18 15:27:47
615
原创 Commonjs与ES Module
CommonJS 模块由 JS 运行时实现。CommonJs 是单个值导出,本质上导出的就是 exports 属性。CommonJS 是可以动态加载的,对每一个加载都存在缓存,可以有效的解决循环引用问题。CommonJS 模块同步加载并执行模块文件。ES6 Module 静态的,不能放在块级作用域内,代码发生在编译时。ES6 Module 的值是动态绑定的,可以通过导出方法修改,可以直接访问修改结果。ES6 Module 可以导出多个属性和方法,可以单个导入导出,混合导入导出。
2023-10-12 18:22:47
663
1
原创 js常用4个类型检测方法的优缺点
Object.prototype.toString执行的时候返回当前方法中的this的所属类信息,也就是,我想知道谁的所属类信息,我们就把这个toString方法执行,并且让this变为我们检测的这个数据值,那么方法返回的结果就是当前检测这个值得所属类信息。
2023-01-03 16:49:35
760
原创 vue性能优化
一般在beforeDestroy生命周期中销毁不需要的已经绑定的自定义事件。对其包裹的组件进行状态的缓存,使其不被销毁,避免重新渲染。安装vue-lazyload插件。
2022-09-20 19:13:06
413
原创 vue路由守卫及运用场景
组件内守卫:beforeRouteEnter(权限管理)、beforeRouteUpdate、beforeRouteLeave。路由全局解析守卫:beforeResolve(这里根据单页面name的指向不同,去访问的接口域名也不同)16、路由守卫都有哪些以及都做过哪些事情,三个参数分别是干什么的。全局守卫:beforeEach(登录拦截)、afterEach。路由独享守卫:beforeEnter(部分路由的登录拦截)三个参数:to:去哪,from:从哪来,next:下一步。
2022-09-19 19:43:21
1242
原创 typescript接口
当出现使用type和interface声明同名的数据时;readonly与const的区别: 做为变量使用的话用 const,若做为属性则使用readonly。接口是一系列抽象方法的声明,是一些方法特征的集合,这些方法都应该是抽象的,需要由具体的类去实现,然后第三方就可以通过这组抽象方法调用,让具体的类执行具体的方法。为了使用接口表示函数类型,我们需要给接口定义一个调用签名。接口的混合类型就是调用接口的时候,同时包含多种不同的类型。接口继承就是说接口可以通过其他接口来扩展自己。interface会。
2022-09-01 20:19:08
239
原创 typescript中的数据类型
never类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型;元组类型用来表示已知元素数量和类型的数组,各元素的类型不必相同,对应位置的类型需要相同。any: 表示任意类型, 当我们不清楚某个值的具体类型的时候我们就可以使用any。类型断言可以用来手动指定一个值的类型,即允许变量从一种类型更改为另一种类型。类型别名就是给一个类型起个新名字, 但是它们都代表同一个类型。TS中的元祖类型其实就是数组类型的扩展。表示的是那些永不存在的值的类型;两者各自有自己的类型分别叫做。...
2022-09-01 16:53:22
460
原创 H5之存储
cookie存储在浏览器中,每次浏览器向服务器发送请求都需要携带cookie,一般情况下,cookie是产生于服务器端,保存于客户端,但是我们也可以通过js来产生cookie;sessionStorage 会话存储,选项卡 选项卡关闭,会话失效 --写项目推荐使用。Cookie 存储少量数据,面向服务器的,同一个服务器的cookie是共享的,最大4kb。localStorage 本地存储,存到本地磁盘中,即使浏览器关闭数据依然在。1.Cookie //创建一个cookie,7天后过期。...
2022-08-31 20:04:00
228
原创 H5新API
context.fillStyle(10,10,100,100)//第一个参数是x轴开始位置,第二个参数是y轴开始位置,第三个参数是绘制图形的宽,第四个位置是绘制图形的高。// 声明一个渐变对象 第一个参数渐变x轴开始位置 第二个参数渐变y轴开始位置 第三个参数渐变结束x轴位置 第四个参数渐变结束y轴位置。 3.掌握渐变图形的绘制方法,学会图形变形,图形缩放,图形组合,以及给图形绘制阴影的方法。...
2022-08-30 14:20:20
452
原创 SEO(搜索引擎优化)
SEO是搜索引擎优化,意指在了解搜索引擎自然排名机制的基础上,对网站进行内部及外部的调整优化,改进网站在搜索引擎中的关键词自然排名,获得更多的流量,从而达成网站销售以及品牌建设的预期目标....
2022-08-29 15:03:04
3442
原创 ES6常用新特性
const(1)let:块级作用域(大括号包裹的就是一个块级),不可重复申明,但是可以重新赋值。(2)const:与let的唯一区别是,声明变量要初始化(就是赋一个值),并且值不能改变。但是如果创建的是对象,对象里面的属性值是可以修改的(因为const确定的地址是无法修改,但是对象属性都是在同一个内存地址)。1、函数声明的方式(常用)}2、函数表达式的方式};3、箭头函数的方式//多个参数需要括号};//以下两种写法都有效,只有一个参数可以不写括号//没有参数需要括号。......
2022-08-25 23:53:56
421
原创 innerHTML、innerText和textContent的区别
【代码】innerHTML、innerText和textContent的区别。
2022-08-24 10:00:07
160
原创 vue3常用的Compotition Api
什么是hook?—— 本质是一个函数,把setup函数中使用的Composition API进行了封装。类似于vue2.x中的mixin。自定义hook的优势: 复用代码, 让setup中的逻辑更清楚易懂。
2022-08-21 22:16:40
208
原创 var、let和const区别
var:函数作用域,有变量提升,提升到函数作用域顶部,可以重复声明变量,可重新赋值。const:与let的唯一区别是,声明变量要初始化(就是赋一个值),并且值不能改变。let:块级作用域(大括号包裹的就是一个块级),不可重复申明,但是可以重新赋值。
2022-08-21 09:50:14
110
原创 http协议
请求的资源已被永久移动到新的url,返回信息会包括新url,浏览器会自动定向到新的url,之后任何新的请求都应使用新url。请求资源未修改,返回此状态码时不返回任何资源(响应消息中不包含响应体)。最后一个请求头字段后面是一个空行,通知服务器请求头部至此结束,用来分隔请求头和请求体。成功请求创建了新的资源,一般用于put和post请求。重要:只有post请求才有请求体,gei请求是没有请求体的。(增)POST:向服务器提交资源,数据包含在请求体中。(改)PUT:向服务器提交资源,并使用提交的新资源。
2022-08-20 18:44:34
98
原创 js设计模式
优点:批量创建对象 封装创建对象的函数 提高代码复用率。缺点:无法区分创建出来的对象种类 方法冗余。将所有的属性和方法都放到原型对象中。4.组合模式(构造函数模式加原型模式)构造函数原型对象中放共有属性和方法。构造函数中放实例私有的属性,
2022-08-19 17:20:45
77
原创 js之数组
用来判断某个变量是否是一个数组对象从类数组对象或者可迭代对象中创建一个新的数组实例。//输出结果为["B","R","I","U","P"]Array.of()根据一组参数来创建新的数组实例,支持任意的参数数量和类型。...
2022-08-17 20:20:12
195
原创 vue中的防抖和节流
防抖:在固定时间内,如果有事件触发,则会再延长固定时间,直到固定时间内没有触发事件再做处理 例如:电梯和屏保。通常高频事件:onscroll,onresize,keyup/keydown,mousemove。防抖和节流:主要目的是为了降低高频事件触发,减少dom操作或请求次数,提升性能。节流:指定一个固定时间,无论是事件触发与,只要到了固定时间,都会触发。引入:import _ from ‘lodash’搜索性能优化:主要利用防抖和节流。安装: npm i lodash。第三方函数工具库:lodash。..
2022-08-10 17:29:48
212
原创 linux基础
也称为设备目录 包含的一些文件是对应连接到计算机的一些设备 在linux系统中 任何设备都是以文件的形态存在于这个目录中。存放的是可执行文件和一些经常会使用的一些指令 cat ls more ps mkdir。d 文件类型 d:目录 -:文件 l:链接 b:存储的设备 c:键盘 鼠标。2. 改变user1本身的组以及user1目录下其他文件的组。--help 查看命令的使用方式 比如 ls --help。放置的是开机时会使用到的一些文件 包括系统核心文件。在文件系统的顶部 它包含所有的文件和文件夹。...
2022-08-03 15:51:39
49
原创 css之媒体查询
当使用媒体查询的逗号分隔列表时,如果列表中的任何媒体查询为true,样式表都会被运用。在逗号分隔列表中的每个媒体查询都被作为独立查询对待,运用到一个媒体查询上的任何操作符都不影响其它的。使用关键词“not”是用来排除某种制定的媒体类型,也就是用来排除符合表达式的设备。only操作符表示仅在媒体查询匹配成功时应用指定样式。媒体查询当页面的结构发生变化的话最好使用媒体查询。弹性盒如果只是宽高的变化,尽量使用弹性盒。上面代码表示的是样式代码将被使用在除打印设备和设备宽度小于1200px下所有设备中。...
2022-07-30 14:04:31
217
原创 css之animation
0%表示动画的初始时间,也可以通过from关键字表示。100%表示动画的结束时间,也可以通过to关键字表示。animation动画
2022-07-27 16:55:57
182
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人