Javascript
文章平均质量分 74
关于前端的一些知识分析与问题解决
邓洲
这个作者很懒,什么都没留下…
展开
-
从根本上解决npm install时,node-sass 报错缺少python2
原因因为node-sass安装后会自动执行node-sass/script下的 build.js ,导致运行错误。(在网上找了一大堆文章都是复制粘贴的,根本就没人去分析为什么报错,换淘宝镜像就OK了?为什么要换?)解决方案不需要安装 Python!不一定需要从淘宝镜像安装!(因为有些时候,我们不允许更改镜像)在npm 安装时,不执行构建脚本即可:npm i --ignore-scripts如果只是单独安装node - sass :npm i node-sass --ignore-scri原创 2022-03-10 18:13:00 · 10889 阅读 · 3 评论 -
关于Vue的Update、nextTick 、refs ,虚拟DOM与真实DOM的联系
虚拟DOM和真实DOM相信大家都知道虚拟DOM和真实DOM的区别吧,简而言之就是虚拟DOM是一个人工创造的JS的对象,而真实DOM是document原生对象。我只言片语说不清,大家各自百度一下吧。虚拟DOM的渲染和真实DOM的渲染不是在同一周期中,当然真实DOM渲染之前还有很多步骤不在实际考虑范围之内,我们只需要单独抽象出虚拟DOM和真实DOM的渲染步骤进行比较。好就算你没看懂,那么也没关系,我将用几个实际例子和图文为你讲解。Vue-Update首先我们先了解一下事件循环和DOM渲染的关系,如果不原创 2021-08-20 05:31:30 · 2290 阅读 · 5 评论 -
从JS堆栈内存和垃圾回收来理解闭包(绝对深刻!)
数据类型JS的变量类型分为基础类型数据(Number, string, boolean等)和 引用类型数据 ( Object , Function , Array 等等)。栈内存栈内存是在程序(函数)执行过程中维护的一块内存区,当程序(函数)执行完毕之后,该内存便会自动被垃圾回收。栈内存中只保存基础类型数据(虽然不客观,但是好理解)。栈内存中保存引用类型数据的 地址 ,而不是完整的引用类型数据。function fun(){ let a=0; //函数栈内存保存的是基础类型数据 0 let原创 2021-08-07 15:59:35 · 669 阅读 · 3 评论 -
js中的可迭代对象,Generator的迭代方式,yield *
目录可迭代对象迭代方式1.Generator.next()2.for in 、 for of通过 yield * 迭代 可迭代对象我将举一个特别典型的例子来帮你更加理解可迭代对象。可迭代对象可迭代对象你可以理解为内部可循环遍历的对象。在ES6中,可迭代有Array、Map、Set 还有 String;当然还有一些特殊类型比如生成器(Generator)。迭代方式我就不带大家手写迭代器了,直接教大家应用。下面以Generator为例向大家介绍两种迭代方式,第二种大家最熟悉。1.Generato原创 2021-08-05 12:37:27 · 608 阅读 · 1 评论 -
URL编码传输问题(特殊字符)
问题产生过程之前做安卓项目遗留下来的一个问题, 为什么我传输的中文到服务端(Java) 获取参数时, 总是出现各种问题, 莫名其妙就出现了乱码? 各种设置UFT-8 都不管用??我们必须从字符集 和 字符集编码方面去了解具体URL编码的过程.浏览器环境浏览器的导航栏输入包含中文URL后.浏览器会自动将中文进行URL编码.(我们打开F12开发者工具查看)那么我此时会产生好奇,URL编码是在什么阶段开始编码的?什么适合开始解码的?安卓环境我尝试在非浏览器环境下(比如Android的HttpU原创 2021-08-04 16:11:26 · 1193 阅读 · 0 评论 -
堆栈、作用域、作用域链、变量提升、暂时性死区、闭包等高频问题(教程分享)
直接上课程JS中的堆栈内存及闭包详解上上周看的一个教程,讲的特别特别详细,直接把一套问题从底层开始讲清了,认真看完你还没懂直接回来喷我。原创 2021-07-27 05:28:09 · 129 阅读 · 0 评论 -
sass-loader高版本传入全局变量的错误
问题npm run serve打开vue项目就出现这样的问题。因为使用了sass。在vue.config.js中配置了module.exports = { css: { loaderOptions: { sass: { additionalData: ` @import "@/assets/scss/variable.scss"; @import "@/assets/scss/mixin.scss";原创 2021-07-05 10:55:50 · 1255 阅读 · 0 评论 -
localhost不等于127.0.0.1,不要混用!!!
为什么建议百度搜索他俩的区别关键词(如果你遇到类似问题,不妨参考我的思路)Cookie获取不到Cookie删不了Cookie.setMaxAge(0) 无效Referer一直是 http://localhost:8080/href.location 跳转不携带参数无法重定向返回上一页跨域获取不到Cookie直接解决方案request.getCookies()取不到值原因https://blog.csdn.net/seven_devil/article/details/8506原创 2021-06-06 17:30:17 · 1360 阅读 · 4 评论 -
JS生成器generator,yield关键字的阻塞原理
目录如何使用generatoryield的阻塞原理如何使用generatorgenerator其实本身就是一个迭代器iterator什么是迭代器?参考https://blog.csdn.net/qq_18433441/article/details/78223502上面文章中讲解了Java的迭代器:集合类Collection实现了接口Iterator所以任何集合类都有一个iterator实例Iterator iterList= list.iterator();//List接口实现了`It原创 2021-03-11 17:26:41 · 851 阅读 · 1 评论 -
闭包的经典例子讲解
声明文章中的例子不是我举的,是我复制别人的例子,但是讲解思路是我自己整理的。为的就是给大家分享另外一种思考的方式,比如你曾经看见过这个例子但是看讲解没看明白,或者是闭包的知识比较模糊,那么我就来用我的思路帮大家再讲一遍。如果你连作用域的知识都不知道,那么我推荐你先去看看别的博主的文章再回来看我的讲解。小知识在开始之前,我先说一下词法作用域敲黑板啦!重点重点!词法作用域简单来说就是,函数声明时的作用域。相反的还有动态作用域,也就是函数调用时的作用域。我今天我们只针对词法作用域进行讲解。函数作用原创 2021-03-09 23:32:48 · 681 阅读 · 3 评论 -
一个经典的块级作用域例子拆解
例子例一:for (var i=1; i<=5; i++) { setTimeout( function timer() { console.log( i ); }, i*1000 );}运行结果是66666例二:for (let i=1; i<=5; i++) { setTimeout( function timer() { console.log( i ); }, i*1000 );}运行结果是12345原创 2021-03-09 22:29:23 · 119 阅读 · 1 评论 -
JS原生实现css动画切换避免使用.style来直接添加样式,请使用classList.add代替
项目背景首先我想实现这么一个侧边栏效果直接一个hover就能实现可是我想添加一个效果,就是点击右上角的收回按钮可以锁定住侧边栏,这样鼠标移开就不会自动收回了贴上代码(也可以点目录跳至问题描述)代码HTML<div class="imageList-container movable"> <div id="pullback"><svg t="1613860886171" class="icon" viewBox="0 0 1024 1024" versio原创 2021-02-22 07:41:12 · 697 阅读 · 0 评论 -
原生JS的drag事件实现元素拖拽的bug
项目场景:最近做Uniapp项目,从服务器请求json数据时,console.log打印出的对象中有部分数据字段缺失问题描述:这是服务器的数据,总共包含六个字段这个是控制台打印出的结果,少两个字段不说,连sex字段都错了下面是代码:下拉刷新请求网络数据,而两个url都是一样(我直接复制的)onPullDownRefresh() { uni.request({ url:this.url, success:(res)=> { console.log(re原创 2021-01-11 20:36:49 · 2143 阅读 · 1 评论