
js知识
文章平均质量分 58
前端爱好者小米粒
我爱学习,我爱思考,人生不能重来一遍,让时间来见证我每天的改变
展开
-
js正则表达式常识记录
参考: 正则表达式.描述字符元字符元字符 描述. 查找单个字符,除了换行和行结束符\w 查找单词字符\W 查找非单词字符\d 查找数字\D 查找非数字字符\s 查找空白字符\S 查找非空白字符\b 匹配单词边界\B 匹配非单词边界\0 查找 NUL字符\n 查找换行符\f 查找换页符\r 查找回车符\t 查找制表符\v 查找垂直制表符\xxx 查找以八进制数 xxxx 规定的字符\xdd 查找以十六进制数 dd 规定的字符\uxxxx 查找以十六进制 xxxx规定的原创 2021-11-24 14:48:49 · 395 阅读 · 0 评论 -
巧用toString来判断对象类型
先来理解一下toStringtoString() 方法返回一个表示该对象的字符串。描述每个对象都有一个 toString() 方法,当该对象被表示为一个文本值时,或者一个对象以预期的字符串方式引用时自动调用。默认情况下,toString() 方法被每个 Object 对象继承。如果此方法在自定义对象中未被覆盖,toString() 返回 “[object type]”,其中 type 是对象的类型。以下代码说明了这一点:var o = new Object();o.toString(); // r原创 2021-09-22 09:31:46 · 333 阅读 · 0 评论 -
理解js文档碎片
先来聊聊DOM操作当我们每次操作DOM的时候都会导致页面的刷新(重绘或者回流),那如果这种操作很频繁的话势必会影响到能耗,所以我们提倡要尽量减少对DOM的操作.那么要如何减少对DOM的操作呢?我们就可以借助于文档碎片的原理来实现.什么是文档碎片原理?就是减少DOM修改带来的回流操作什么是回流操作?我们来用生活中的例子来讲解就说有一个人需要去商店买油、盐、酱、醋这里他可以用以下两种方法来实现第一种: 他去到商店,然后把油盐酱醋一起买完,然后回家.第二种:他去到商店,一次就买一种东西回家,然后原创 2021-04-09 09:11:48 · 184 阅读 · 0 评论 -
javascript 事件循环机制 eventloop
参考: js中的宏任务与微任务.自己的一些想法待发布…原创 2021-03-30 13:36:17 · 131 阅读 · 0 评论 -
页面优化-为什么script最好放底部link最好放头部
这里涉及到一个问题,就是页面的渲染阻塞。css加载不会阻塞DOM树的解析,但会阻塞DOM树渲染并且阻塞后面的js语句的执行。浏览器在下载JS的时候,会阻止一切其他活动嵌入JS会阻塞所有内容的呈现,而外部JS只会阻塞其后内容的显示CSS关于CSS,大家肯定都知道的是标签放在头部性能会高一点,少一点人知道如果css加载会阻塞DOM树的解析渲染吗? css阻塞 这是红色的 假设: css加载会阻塞DOM树解析转载 2021-03-29 10:44:28 · 323 阅读 · 0 评论 -
在js中如何使用websocket实现长连接
实现该功能的目的最近在练习写react的项目,就想着要不然就做一个交流软件来锻炼一下,这就需要用到长连接的功能了,也就是websocket,要做这块需要用到**“socket.io”**的插件.下面分别说一下在服务器端和客户端要如何配置1.服务器端首先就是要下载socket.io插件,然后导入 npm install socket.io --save为了让代码维护更加清晰,我们新建一个socket.js文件,通过一个函数实现server端socket的配置,最后将这个函数导出,这样在www文件原创 2021-03-04 09:39:12 · 3048 阅读 · 2 评论 -
有了webpack的情况下,还需要学习requirejs吗?
首先要说明,RequireJS不是框架,是模块加载器;而AMD是RequieJS的异步模块定义规范。AMD尽管在ES6出现之后,已经成日落西山之势了。但是如果说死,还为时尚早。先说AMD规范,其实践最广泛的前端框架莫过于angularJS1.x版本,尽管angular2由于诸多原因普及率远低于ReactJS和Vue,但是要知道在上一代的前端框架中angularJS1.x是绝对的mvc时代的独孤求败,在很多现存应用中依然被广泛使用。AMD异步模块加载思想中有一个非常重要的思想就是注入依赖思想,让多个js文原创 2021-01-26 16:09:24 · 326 阅读 · 0 评论 -
javascript中的原型链以及Class使用
先来聊一下经常用到的原型链继承的问题,为了对比ES5和ES6的区别,采用这两种不同的写法对比一下:ES5部分//定一个父类的构造函数function Parent (name) { this.name = name}//定义子类的构造函数function Children(name, age) { Parent.call(this, name) this.age = age}//然后给子类原型链加上两个属性,一个是基本类型,一个是引用类型Children.prototype.f原创 2020-11-19 15:15:59 · 809 阅读 · 0 评论