web前端
文章平均质量分 62
工作中积累沉淀,让我们一步步深入了解前端开发。在知识的海洋中共同成长
Cshaosun
这个作者很懒,什么都没留下…
展开
-
对this对象的理解
This 是执行上下文中的一个属性,它指向最后一次调用这个方法的对象。this的值并不是在函数定义时确定的,而是在。在实际开发中,this 的指向一般可以通过四种调用模式来判断。原创 2024-05-20 14:24:12 · 303 阅读 · 0 评论 -
call、apply、bind三者的区别
三者都可以改变函数的 this 对象指向。三者第一个参数都是 this 要指向的对象,如果如果没有这个参数或参数为 undefined 或 null,则默认指向全局 window。三者都可以传参,但是 apply 是数组,而 call 是参数列表,且 apply 和 call 是一次性传入参数,而 bind 可以分为多次传入。bind 是返回绑定 this 之后的函数,便于稍后调用;apply 、call 则是立即执行。原创 2024-05-13 14:52:02 · 502 阅读 · 0 评论 -
对Promise的理解
可以获取异步操作的消息, 它的出现大大改善了异步编程的困境,,它比传统的解决方案回调函数和事件更合理和更强大。Promise的实例有。原创 2024-05-11 15:26:58 · 582 阅读 · 0 评论 -
js异步编程的实现方式
这是异步操作最原始的用法。是不利于代码的阅读和维护,各个部分之间高度耦合(Coupling),流程会很混乱,而且每个任务只能指定一个回调函数。原创 2024-05-08 15:45:53 · 477 阅读 · 0 评论 -
JS 实现继承的几种方式
现在有parent、child两个函数,child函数的实例想要访问parent函数的属性和方法(child想要继承parent)。原创 2024-05-07 16:39:05 · 468 阅读 · 0 评论 -
includes()、startsWith()、endsWith()、indexOf()、lastIndexOf()介绍
includes()、startsWith()、endsWith()是新增的方法includes()、startsWith()、endsWith()的index表示从哪个位置查找【不写以字符串开头查找】)原创 2024-04-30 10:35:33 · 340 阅读 · 0 评论 -
for...in 和 for...of 的区别
for...of是ES6新增的遍历方式,允许遍历一个含有 iterator 接口的数据结构(数组、对象等)并且返回各项的值。原创 2024-04-26 17:31:29 · 293 阅读 · 1 评论 -
ES6 模块与 CommonJS 模块有什么异同
而 CommonJS 的模块导入则是通过值拷贝的方式来实现的,即每个变量都拷贝了一份导出变量的值。这意味着如果在 ES6 的模块中修改导出变量的属性,那么其他导入该变量的模块也会受到影响,而在 CommonJS 中则不会。ES6 的模块化适用于浏览器端和 Node.js 中使用,它采用了异步导入、编译时静态分析等技术,使得代码可读性更好,依赖关系更清晰,能够有效提高代码执行效率。而 CommonJS 则更适合于服务器端,因为 Node.js 中使用的大部分第三方模块都是基于 CommonJS 规范的。原创 2024-04-26 16:48:38 · 185 阅读 · 0 评论 -
escape、 encodeURI、 encodeURIComponent 三种编码方式的区别
如果要编码 URL ,但需要跳转地址,那只能用 encodeURI 方法,因为encodeURIComponent 会对 :/ 进行编码,会导致没法跳转地址。和 #,则应当使用 encodeURIComponent() 方法分别对各组件进行编码。编码之后的效果:%XX 或 %uXXXX这种形式。函数是对字符串进行编码的,作用是让他们在所有电脑上可见。ASCII字母、数字、~!方法生成新的由十六进制转义序列替换的字符串。进行编码的,唯一的区别是编码的范围不一样。ASCII字母、数字、~!原创 2024-04-24 16:25:26 · 167 阅读 · 0 评论 -
对JSON的理解
json是一种轻量级的数据交换格式json采用完全独立于计算机语言和操作系统的平台,不同的编程语言和操作系统json数据是一致的。原创 2024-04-24 14:55:10 · 162 阅读 · 0 评论 -
ES6之---Proxy简介
ProxyProxy是JavaScript中的内置对象,它提供了一种机制,可以拦截并自定义各种操作,如属性访问、函数调用、构造函数调用等。Proxy的构造函数接受两个参数目标对象(被代理的对象)和一个处理器对象(用于定义拦截器)。// 写法:target是目标对象,handler是处理器对象。原创 2024-04-24 10:59:28 · 350 阅读 · 0 评论 -
JavaScript 中的包装类型
在 JavaScript 中, 基本类型是没有属性和方法的, 但是为了便于操作基本类型的值,在调用基本类型的属性或方法时 JavaScript 会在后台隐式地将基本类型的值转换为对象JavaScript提供了三种包装类StringNumberBoolean。1、String包装类可以在字符串上调用各种方法,如等。// 输出 "HELLO WORLD"尽可能使用基本数据类型而不是对象包装器。明确了解自动装箱和拆箱的行为,以便明确何时发生转换。使用===原创 2024-04-22 11:02:13 · 786 阅读 · 0 评论 -
Object.is() 与比较操作符 “ ===” 、 “ ==” 的区别
都是比较两个值的相等性的。原创 2024-04-19 16:19:58 · 205 阅读 · 0 评论 -
如何获取安全的 undefined 值?
你可以为参数提供默认值。这样,如果调用函数时没有提供该参数的值,函数将使用默认值。原创 2024-04-19 10:23:57 · 358 阅读 · 0 评论 -
vue项目中assets 和 static 文件夹存放资源的区别
中的资源文件在npm run build打包是会被webpack 处理,对内部的资源文件进行压缩格式化等操作,最终放到static文件夹中和index.html一起上传。项目中所需要的资源文件图片, 字体图标, 样式文件等都可以放在这两个文件下。项目中引入的第三方的资源文件如 echarts 等文件可以放置在 static 中,第三方文件已做过处理无需处理可直接上传。中放置的静态资源文件就不会要走打包压缩格式化等流程, 而是直接进入打包好的目录, 直接上传至服务器。原创 2024-04-10 15:10:20 · 138 阅读 · 0 评论 -
VUE中v-if 和 v-for 哪个优先级更高? 如果同时出现, 应如何优化?
在vue3.x没出来时,回答:v-for 优先级比 v-if高是没问题的,但是有了vue3.x后这个回答就不正确了。正确的回答是什么呢咱们往下看。原创 2024-04-10 17:08:02 · 384 阅读 · 0 评论 -
VUE修改组件props中的值报错Avoid mutating a prop directly since the value will be overwritten whenever the par
报错信息:Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "showPromptMes"Vue2.0 中组件props中的数据只能单向流动,即只能从父组件通过组件的D原创 2024-04-17 14:48:42 · 254 阅读 · 0 评论 -
JavaScript 有哪些数据类型
JavaScript 共有 Undefined、 Null、 Boolean、Number、 String、 Object、 Symbol、 BigInt八种数据类型。注:Symbol 和 BigInt 是 ES6 中新增的数据类型(1)Undefined:【未定义/未初始化】此类型只有这一个值,当声明的变量未赋值时,就相当于 赋值了Undefined。(2)Null: 【空对象】Null只有一个值,null表示一个控制值对原创 2024-04-18 15:01:07 · 1103 阅读 · 0 评论 -
路由的 hash 和 history 模式的区别
为了构建SPA(单页面应用)即不刷新整体页面,通过地址栏中的变化来实现单页面的切换等功能。Vue-Router用了两种模式来实现:hash 模式和history 模式。默认的路由模式是 hash 模式。hash模式和 history模式都属于浏览器自身的特性, Vue-Router只是利用了这两个特性来实现前端路由和页面的关联。hash模式和 history模式最直观的区别就是-----hash路由带#号history路由不带#号。1、hash模式带#号比较丑,history模式比较优雅;2、原创 2024-04-17 11:08:52 · 867 阅读 · 0 评论 -
VUE路由之---Vue-router
Vue Router 是的官方路由。它与 Vue.js 核心深度集成,让用 Vue.js 构建单页应用变得轻而易举。单个路由(某一个路由)多个理由集合路由管理器。原创 2024-04-15 16:14:11 · 601 阅读 · 0 评论 -
VUE生命周期
(创建前):数据观测和初始化事件还未开始, 此时data 的响应式追踪、 event/watcher 都还没有被设置, 也就是说不能访问到 data、 computed、 watch、 methods 上的方法和数据。(挂载前):在挂载开始之前被调用, 相关的 render函数首次被调用。(销毁后):实例销毁后调用, 调用后, Vue 实例指示的所有东西都会解绑定, 所有的事件监听器会被移除, 所有的子实例也会被销毁。(更新后):在数据更新之后被调用,该方法还会在组件的子组件更新之后被调用。原创 2024-04-11 11:50:45 · 1105 阅读 · 0 评论 -
delete 和 Vue.delete 删除数组的区别
是js中原生的操作符,当用 delete 删除数组中的元素时,它 只是被删除的元素变成了 empty/undefined 其他的元素的键值还是不变。即不会改变数组的长度。被删除的元素位置会被保留为一个空洞,即数组的索引位置仍然存在,但对应的元素值为 undefined。Vue.delete 直接删除了数组 改变了数组的键值;并且会触发ue 的响应式更新机制,确保删除操作能够被 Vue 监测到并更新视图。是 Vue框架提供的一个全局方法,用于删除 Vue 响应式对象【数组和对象】中的属性或数组元素。原创 2024-04-10 15:31:53 · 162 阅读 · 0 评论