- 博客(53)
- 资源 (4)
- 收藏
- 关注
原创 vue 弹出框移动自定义全局指令
/ 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);// 鼠标按下,计算当前元素距离可视区的距离。// 通过事件委托,计算移动的距离。// 获取到的值带px 正则匹配替换。// 需要在对话框中添加 v-dialogDrag。
2024-03-07 17:25:56
848
原创 简述什么叫优雅降级和渐进增强?
然后,通过检测用户使用的浏览器或设备,如果发现其不支持某些特性或功能,就会提供一个替代方案,以确保网页在旧版本的浏览器或设备上也能够正常显示和使用。渐进增强是指首先针对基本的浏览器或设备进行开发,确保网页的核心功能在所有浏览器上都能够正常运行。然后,通过检测用户使用的浏览器或设备,如果发现其支持某些额外的特性或功能,就会逐步增强网页的功能和用户体验。优雅降级和渐进增强是两种前端开发的策略,用于确保网页在不同浏览器或设备上都能够正常运行,并提供最佳的用户体验。
2024-03-01 13:57:38
279
原创 xhtml和html的区别
1、XhtmL可以混合各种XmL应用,比如mathmL、sVg。2、htmL语法要求比较松散,这样对网页编写者来说,比较方便。1、XhtmL对大小写敏感,标准的XhtmL标签应该使用小写。2、htmL是基于标准通用标记语言(sgmL)。1、XhtmL语法比较严格,存在dtd定义规则。2、htmL4.01是1999年w3c推荐标准。1、XhtmL是基于可扩展标记语言(XmL)。1、XhtmL是2000年w3c公布发行的。2、htmL不能混合其它XmL应用。2、htmL对大小写不敏感。二、语法严格程度不同。
2024-03-01 11:24:18
136
原创 [“1,“2,“3“].map( parselnt)的执行结果是多少
首先,parseInt(“1”, 0)将字符串"1"转换为10进制的整数1。然后,parseInt(“2”, 1)将字符串"2"转换为1进制的整数NaN。最后,parseInt(“3”, 2)将字符串"3"转换为2进制的整数NaN。在这个例子中,["1,"2,“3”]是一个包含三个字符串元素的数组。因此,["1,"2,“3”].map(parseInt)的执行结果是[1, NaN, NaN]。["1,"2,“3”].map(parseInt)的执行结果是[1, NaN, NaN]。
2024-02-29 18:15:58
519
原创 JavaScript实现二分法查找 递归算法
(1)首先,从有序数组的中间的元素开始搜索,如果该元素正好是目标元素(即要查找的元素),则搜索过程结束,否则进行下一步。(2)如果目标元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半区域查找,然后重复第一步的操作。二分法查找,也称折半查找,是一种在有序数组中查找特定元素的搜索算法。// 9 返回目标元素的索引值。// 9 返回目标元素的索引值。(3)如果某一步数组为空,则表示找不到目标元素。
2024-02-29 18:01:04
369
原创 JavaScript实现二分法查找 非递归算法
(1)首先,从有序数组的中间的元素开始搜索,如果该元素正好是目标元素(即要查找的元素),则搜索过程结束,否则进行下一步。(2)如果目标元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半区域查找,然后重复第一步的操作。二分法查找,也称折半查找,是一种在有序数组中查找特定元素的搜索算法。// 9 返回目标元素的索引值。// 9 返回目标元素的索引值。(3)如果某一步数组为空,则表示找不到目标元素。
2024-02-29 18:00:29
397
原创 JavaScript 如何消除一个数组里面重复的元素?
4.使用对象属性:遍历数组,将元素作为对象的属性,利用对象属性的唯一性去除重复值,然后将对象属性转换为数组。1.使用Set对象:将数组转换为Set对象,Set对象会自动去除重复值,然后将Set对象再转换为数组。3.使用reduce()方法:使用reduce()方法遍历数组,将第一次出现的元素存入一个新数组中。2.使用filter()方法:遍历数组,使用filter()方法筛选出第一次出现的元素。以上是一些去除数组中重复值的方法,每种方法都有其优缺点,应根据具体场景选择最适合的方法。
2024-02-29 17:51:29
261
原创 请简述Vue插件和组件的区别 ?
降低整个系统的耦合度,在保持接口不变的情况下,我们可以替换不同的组件快速完成需求,例如输入框,可以替换为日历、时间、范围等组件作具体的实现调试方便,由于整个系统是通过组件组合起来的,在出现问题的时候,可以用排除法直接移除组件,或者根据报错的组件快速定位问题,之所以能够快速定位,是因为每个组件之间低耦合,职责单一,所以逻辑会比分析整个系统要简单提高可维护性,由于每个组件的职责单一,并且组件在系统中是被复用的,所以对代码进行优化可获得系统的整体升级。vue插件的实现应该暴露一个 install 方法。
2024-02-28 14:33:47
353
原创 Javascipt中async await 和promise和generator有什么区别
async函数是一个返回Promise对象的函数,其中可以使用await关键字来暂停函数的执行,等待一个Promise对象的解析结果。Promise提供了链式调用的方式,可以通过then()和catch()方法来处理异步操作的结果或错误。在JavaScript中,async/await、Promise和Generator都是用于处理异步操作的机制,但它们有一些区别。- async/await是一种语法糖,用于简化Promise的使用,使得异步代码更加清晰易读。
2024-02-28 14:13:33
475
原创 JavaScript 闭包是什么,有什么特性,对页面有什么影响?简要介绍你理解的闭包?
当一个函数内部定义了另一个函数,并且内部函数引用了外部函数的变量时,就形成了闭包。我理解的闭包是一种特殊的函数结构,它可以访问并操作其创建时所处的词法作用域中的变量。3. 延长变量生命周期:闭包可以使得外部函数的变量在内部函数执行完后仍然存在,延长了变量的生命周期。1. 内存占用:闭包会导致外部函数的变量和参数无法被垃圾回收机制回收,从而增加了内存的占用。2. 隐私保护:闭包可以隐藏外部函数的变量和参数,只暴露内部函数,提供了一种封装数据的方式。3. 外部函数的变量和参数可以被内部函数持续引用和修改。
2024-02-28 14:11:13
295
原创 Javascript面试题 阐述js的跨域
JSONP(JSON with Padding):通过动态创建<script>标签,将需要获取的数据作为回调函数的参数传递给服务器,服务器将数据包装在回调函数中返回给客户端。代理服务器:在同源策略下,可以通过在服务器端设置代理,将客户端的请求转发到目标服务器上,并将响应返回给客户端。跨域是指在浏览器中,当一个网页的脚本试图访问不同源(域、协议或端口)的资源时,就会发生跨域问题。脚本访问:当一个网页中的脚本尝试访问不同源的资源(如通过<script>标签引入的外部脚本),也会触发跨域问题。
2024-02-27 17:18:14
129
原创 Javascript面试题 阐述js的同源策略?
同源策略可以有效保护用户的隐私和安全,防止恶意网站进行跨站攻击。iframe限制:iframe元素加载的页面必须与父页面具有相同源,否则无法通过JavaScript访问iframe中的内容。脚本访问限制:JavaScript脚本只能访问与其所属页面具有相同源的资源,包括读取和修改DOM、发送AJAX请求等。DOM访问限制:JavaScript脚本只能访问与其所属页面具有相同源的DOM元素,不能访问其他页面的DOM。Cookie限制:浏览器只会发送同源请求的Cookie,不会发送给其他源的请求。
2024-02-27 17:14:06
149
原创 javaScript面试题 JS中null和undefined的区别
3、如果我们使用typeof运算符检查一个null值时,返回的结果是“object”。而如果检查一个未声明的变量时,返回的结果是undefined。2、当我们声明一个变量但没有给它赋值时,该变量的值就是undefined。2、undefined==null,结果为true都表示一个空值,两者判断值相等上是一样的。5、undefined本质上是window的一个属性,而null是一个对象。1、null表示一个空对象指针,而undefined表示一个未定义的值。
2024-02-27 17:00:52
200
原创 JavaScript面试题 阻止默认事件?
<br /> <input type="button" id="c3" value="点击" onclick="alert(3)"><br /> </div><br />
2024-02-27 16:49:30
136
原创 javaScript面试题 js阻止事件冒泡的方法?
比如现在有一个子盒子和一个父盒子,子盒子和父盒子二者都有点击事件,但是此时,当我们点击子盒子时,只想让子盒子显示点击事件。这里我们就要用到阻止事件冒泡的方法来隔断父盒子的事件显示。但是需要注意的是:这个方法也有兼容性问题,在低版本浏览器中(IE 6-8 )通常是利用事件对象cancelBubble属性来操作的。可以直接在子盒子内部的点击事件里面添加stopPropagation()方法。我们应该怎样阻断父盒子的点击事件呢?
2024-02-27 16:46:43
113
原创 javaScript面试题 简述异步线程,轮询机制,宏任务微任务?
在挂起任务时,JS 引擎会将所有任务按照类别分到这两个队列中,首先在 macrotask 的队列(这个队列也被叫做 task queue)中取出第一个任务,执行完毕后取出 microtask 队列中的所有任务顺序执行;主线程任务——>微任务——>宏任务——>宏任务里的微任务——>宏任务里的微任务中的宏任务——>知道任务全部完成。如果宏任务里还有微任就继续执行宏任务里的微任务,如果宏任务中的微任务中还有宏任务就在依次进行。异步任务: 指的是不进入主线程,某个异步任务可以执行了,该任务才会进入主线程执行。
2024-02-27 16:44:31
199
原创 javascript面试题 解释下JavaScript中this是如何工作的?
一、this 的绑定规则 this 一共有 4 中绑定规则,接下来一一介绍每种规则的解释和规则直接的优先级 默认绑定(严格/非严格模式) 隐式绑定 显式绑定 new 绑定 1.1 默认绑定(严格/非严格模式) 独立函数调用: 独立函数调用时 this 使用默认绑定规则,默认绑定规则下 this 指向 window(全局对象)。现在问题就来了,由于函数可以在不同的运行环境执行,所以需要有一种机制,能够在函数体内部获得当前的运行环境(context)。这样的结构是很清晰的,问题在于属性的值可能是一个函数。
2024-02-27 16:37:03
310
原创 javascrip 面试题简述JavaScript中map和foreach的区别?
return的是啥,相当于把数组中的这一项变为啥(并不影响原来的数组,只是相当于把原数组克隆一份,把克隆的这一份的数组中的对应项改变了);理论上这个方法是没有返回值的,仅仅是遍历数组中的每一项,不对原来数组进行修改;但是可以自己通过数组的索引来修改原来的数组,或当数组项为对象时修改对象中的值;2.forEach()和map()里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前项的索引index,原始数组input。2.map()返回一个新数组,原数组不会改变。
2024-02-27 16:34:29
118
原创 axios.js接口封装,请求响应拦截 async异步方法执行 await 修饰符使用
axios.js接口封装,请求响应拦截 async异步方法执行 await 修饰符使用
2022-07-13 10:13:19
1051
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人