javascript
文章平均质量分 64
浮点老韦
分享自己多年的开发经验,不断自我提升,学无止境
展开
-
彻底搞定async、await原理
从上面代码执行,可以知道async返回的是一个Promise对象,其原理通过Promise实现。第四个next之后,c = 3,没有了yield控制,直接return,所以返回{value: 6, done: true},done为true标识已经结束。是js异步编程规范,结合await实现异步执行结果等待,将异步拥有同步代码的能力,其实底层就是一个generator生成器的语法糖。第二个next传入1,执行了 let a=和第二个yield后面的2,a=1,即next(1)参数1;原创 2023-02-21 13:44:56 · 229 阅读 · 0 评论 -
关于js中的valueOf和toString区别
如果没有重新定义valueOf和toString,其隐式转换会调用默认的toString()方法。如果只改写 valueOf() 或是 toString() 其中一个,会优先调用被改写了的方法而如果两个同时改写,则会像 Number 类型转换规则一样,优先查询 valueOf() 方法,在 valueOf() 方法返回的是非原始类型的情况下再查询 toString() 方法。原创 2023-01-03 12:41:19 · 213 阅读 · 0 评论 -
如何解决vue3.0引用静态资源出现空白的问题
问题描述在使用vue创建新项目之后,本想在public的index.html引用一些不需要webpack编译的静态资源,我在项目中引用了一个reset.min.css和一张loading.png图片:结果遇到个坑,页面并没有任何样式变化,在浏览器中单独打开图片和样式文件都被重定向跳转到首页,链接后面自动加上‘#/’,坑位截图如下:解决方案本热觉得虽然项目中有static目录,但webpack编译时并没有将static的静态资源拷贝到dist目录下,本地服务器会根据项目配置的路由做了通用处理,最后就重定向跳转原创 2022-06-08 14:44:21 · 920 阅读 · 0 评论 -
关于node-sass安装出现command failed和Error: Node Sass version 7.0.1 is incompatible with ^4.0.0问题
再给公司做打车H5应用时,换了一台新电脑,竟然跑不起来,出现如下的问题:说明node-sass依赖python2.x版本,之后安装python2.7.8重试了下,还是一样报错。于是尝试用按照下面命令安装但问题又来了,发现直接安装到node-sass7.0.1版本。还是编译错误,意思很明显,竟然7.0.1和4.0.0不兼容了。试了很多种方法,发现最终能解决方案:这样就运行成功了。在package.json文件中“node-sass”变成了“sass”:最后记录一下最终运行的效果。...原创 2022-06-07 11:36:51 · 397 阅读 · 0 评论 -
JavaScript关于创建对象你可能不了解的一些内部原理
创建对象的几种方式在js中,经常看到如下四种创建对象的方法:var obj = {}; // 对象字面量,跟new Object()一致var obj1 = new Object(); // new方式创建对象var obj2 = Object.create(); // 通过Object.create创建但我们在开发项目过程中,还有另一种常用的创建对象的方式,即通过function方式:function PObject(name) { this.name = name;}原创 2022-05-25 01:05:54 · 192 阅读 · 0 评论 -
JavaScript函数形参、函数内部变量、函数名命名冲突问题
函数形参和函数内声明变量同名问题我们首先看下下面的执行结果function ab(x) { console.log(x); var x; console.log(x);}ab(30);// 30// 30输出结果竟然都是30,是不是非常奇怪???不着急,再看function ab1(x) { console.log(x); var x = 4; console.log(x);}ab1(40)// 40// 4输出结果更原创 2022-05-22 12:24:11 · 909 阅读 · 2 评论 -
javascript中==和===最主要的区别
接触过js语言,==和===是绕不开的话,可以说拿捏不好这两个的区别,就写不出高质量的js代码,bug也会随形相伴,甩也甩不掉。下面记录了关于==和===的区别,能达到一劳永逸的目的。javascript中有两个值通过==比较,将会发生两种情况:这里注意一下,数组通过调用toString()之后,其实是返回一个字符串:了解数组toString之后,我们可以通过以下代码看就比较直观易懂了:在浏览器中执行以上的结果打印如下:if(单值),如果没有==的情况下,只有以下的值才会为假值:===不会造成隐式类型原创 2022-05-21 20:26:10 · 184 阅读 · 0 评论