![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
文章平均质量分 89
战场小包
一大一新生,希望与众大牛学习(风云变幻啊,我已经是研一了)
展开
-
vscode-cats插件是如何开发的?小包带你来实现一下
前言经过两个周的努力,昨天成功发布人生第一个插件 vscode-cats ,本文给大家介绍一下插件的开发过程,顺便也给自己做个记录。插件下载: VSCode 扩展中直接搜索 vscode-cats 即可。应用市场: vscode-catsgithub: vscode-cats如果能给 github 点个 star 就更完美了。最开始开发 vscode-cats 时,感觉真的是暗无天日、遥遥无期。首先文档全是英文,看起来还是有几分吃力;二就是这种插件的模式实现 VSCode 并不提倡,原创 2021-12-16 13:05:18 · 1079 阅读 · 11 评论 -
animation-delay负值妙用,你不来了解一下吗
????前言小包上一篇文章讲述如何实现随机不规则圆角头像时,其中一种方案通过妙用 animation-delay 负值和 paused 进行实现,这不由让我对 animation-delay 负值产生巨大兴趣,经过几天的学习,我发现 animation-delay 负值的独特特性带来的威力真是非同小可。学习本文章,你会学会:animation-delay 负值特性animation-delay 负值实现 bounce loading 效果animation-delay 负值实现 音浪 loadi原创 2021-12-14 15:31:25 · 2035 阅读 · 11 评论 -
VSCode撸猫插件vscode-cats它来了,一起来云撸猫吧
前言大约两周以前,我写了一篇如何给 VSCode 和个人网站添加 live2d 喵咪的博客,没想到得到了众多大佬的喜爱,但大佬们想要简单快乐的撸猫,给VSCode和网站领养喵咪 一起快乐撸猫 实现撸猫有几分繁琐,用户体验性不佳。因此为了让众多大佬更舒服的撸猫,我将撸猫功能封装成 vscode-cats 插件,同时已经将 vscode-cats 0.0.1 成功发布在 VSCode 应用市场上。如果想下载插件,VSCode 扩展中直接搜索 vscode-cats 安装。?????????????????原创 2021-12-09 10:17:15 · 4671 阅读 · 13 评论 -
2021年前端最新笔试百题
2021年前端最新笔试百题,题目来源牛客网在线试题,题目都是各大互联网大公司所出题目,质量可以保证,希望能帮到大家原创 2021-11-20 12:49:46 · 13335 阅读 · 16 评论 -
给VSCode和网站领养喵咪 一起快乐撸猫
前言本月技术征文,代码 “吸猫”,我构思了很久,没有想出特别好的创意,要不就是创意太大,技术水平不够无法实现。因此就开始翻各位大佬们的创意,希望能找到点方向。前天大佬 大帅老猿 使用 live2d 开发了一个 chrome 撸猫插件,还添加了喵语聊天功能。我观摩了大佬的博客好久,一是为大佬的创意点赞,二为大佬的技术点赞,太强了。晚上睡觉前,我就在想,光浏览器上有喵咪可不过瘾啊,如果能给我的网站和 Vscode 编辑器都添加上喵咪,那岂不是处处有喵咪,快乐加倍。说干就干,东查西看,终于成功实现了在 V原创 2021-11-13 11:25:30 · 3058 阅读 · 12 评论 -
【缅怀钱老】学习实现炫酷漂亮的火箭发射效果
缅怀钱学森钱老先生逝世十二周年。学习实现火箭发射效果:包括火箭主体部分绘制、火箭发射部分。内含源码。原创 2021-11-01 12:54:02 · 661 阅读 · 2 评论 -
你听说过摩尔投票法吗
前言前几天在刷力扣题目时,看官方题解发现的算法,我感觉这个算法非常有意思,是一个很好的思维开拓,因此我整理摩尔投票算法的一些知识,分享给大家。摩尔投票法博耶-摩尔多数投票算法( Boyer–Moore majority vote algorithm ),中文常作多数投票算法、摩尔投票算法等,是一种用来寻找一组元素中占多数元素的常数空间级时间复杂度算法。算法思想在集合中寻找可能存在的多数元素,这一元素在输入的序列重复出现并占到了序列元素的一半以上;在第一遍遍历之后应该再进行一个遍历以统计第一次算法遍原创 2021-10-28 09:57:56 · 498 阅读 · 0 评论 -
抓取牛客最新前端面试五百题 可视化分析前端面试热点
前言秋招感觉即将接近尾声了,今年的秋招可谓是风起云涌、锣鼓喧天、异彩纷呈(听说腾讯总包都40w+,流下羡慕的眼泪)。秋招期间,我特别喜欢在牛客上看各位大佬的面经、offer等,看的不亦乐乎,每天增加一个小幻想。前几天在看面经时,突然想到,有的题我见过很多次,有的题第一次见,现在虽说有八股文,但每年的面试行情应该都会有小的变化,要不来做个统计,粗略的估计一下今年面试市场的态势。说做就做,耗费了我好几个快乐游戏的夜晚,挨着面试题、面经的复制、去重,最后精挑细选出547道题目,其中笔试题200道,面试题3原创 2021-10-24 10:49:44 · 1180 阅读 · 8 评论 -
【面试利器】原生JS灵魂拷问,你能答上多少(三)
前言目前的前端世界,三大框架横行,原生JavaScript所用越来越少。但我认为JavaScript作为每一个前端工程师的立身之本,学再多遍都不为过。因此我决定整理JavaScript中容易忽视或者混淆的知识点,写一系列文章,以灵魂拷问的方式,系统且完整的带大家遨游基础的的JavaScript,给大家带来不一样的体验。系列文章链接:【面试利器】原生JS灵魂拷问,你能答上多少(一)【面试利器】原生JS灵魂拷问,你能答上多少(二)JavaScript数组之问第二十七问:那些数组方法会修改原数组原创 2021-10-22 21:12:38 · 919 阅读 · 5 评论 -
【面试利器】原生JS灵魂拷问,你能答上多少(二)
前言目前的前端世界,三大框架横行,原生JavaScript所用越来越少。但我认为JavaScript作为每一个前端工程师的立身之本,学再多遍都不为过。因此我决定整理JavaScript中容易忽视或者混淆的知识点,写一系列文章,以灵魂拷问的方式,系统且完整的带大家遨游基础的的JavaScript,给大家带来不一样的体验。系列文章链接:【面试利器】原生JS灵魂拷问,你能答上多少(一)JavaScript运算符之问第十六问 你知道||与&&的返回值规则吗?短路效应:&原创 2021-10-20 12:58:46 · 2497 阅读 · 26 评论 -
【面试利器】 原生JS灵魂拷问,你能答上多少(一)
前言目前的前端世界,三大框架横行,原生JavaScript所用越来越少。但我认为JavaScript作为每一个前端工程师的立身之本,学再多遍都不为过。因此我决定整理JavaScript中容易忽视或者混淆的知识点,写一系列文章,以灵魂追问的方式,系统且完整的带大家遨游不一样的JavaScript。JS类型之问——检测篇第一问:js中的数据类型有哪些?原始数据类型:共有7种Boolean Number String undefined null Bigint Symbol引用数据类型:1种原创 2021-10-16 16:49:16 · 3196 阅读 · 78 评论 -
⭐2w字大章 38道面试题 让你彻底学会JavaScript的this指向问题⭐
前言当一个函数调用时,会创建一个执行上下文,这个上下文包括函数调用的一些信息(调用栈,传入参数,调用方式),this就指向这个执行上下文。this不是静态的,也并不是在编写的时候绑定的,而是在运行时绑定的。它的绑定和函数声明的位置没有关系,只取决于函数调用的方式。本篇文章有点长,涉及到很多道面试题,有难有简单,如果能耐心的通读一编,我相信以后this都不成问题。学习this之前,建议先学习以下知识:JavaScript之预编译JavaScript之手撕newJavaScript之手撕ca原创 2021-10-14 09:14:15 · 3045 阅读 · 91 评论 -
JavaScript之彻底理解原型与原型链
1.前言原型与原型链知识历来都是面试中考察的重点,说难不算太难,但要完全理解还是得下一定的功夫。先来看一道面试题开开胃口吧:function User() {}User.prototype.sayHello = function() {}var u1 = new User();var u2 = new User();console.log(u1.sayHello === u2.sayHello); console.log(User.prototype.constructor); consol原创 2021-10-09 11:12:57 · 2061 阅读 · 62 评论 -
JavaScript之预编译学习(附带多个面试题)
前言在学习JavaScript预编译之前,先了解一下JavaScript从编译到执行的过程,大致分为四步:词法分析语法分析:检查代码是否存在错误,若有错误,引擎会抛出语法错误。同时会构建一颗抽象语法树(AST)。预编译解释执行预编译JavaScript是解释性语言,也就是说,编译一行,执行一行,但js并非上来就进入编译环节,它在编译之前存在预编译过程。js中预编译一般有两种:全局的预编译和函数的预编译,分别发生在script内代码执行前和函数的执行前。函数预编译首先来看一个例子:原创 2021-10-08 13:29:44 · 2466 阅读 · 57 评论 -
JavaScript之彻底学会Event Loop
前言学习JavaScript执行机制能更好的理解JavaScript的代码执行顺序,进而更好的理解JavaScript的异步模式。Event Loop即事件循环,是浏览器或Node解决单线程运行时不会阻塞的一种机制。(也可以理解为经常使用的异步)在正式学习Event Loop之前,先提出几个问题:什么是同步与异步?JavaScript是一门单线程语言,那如何实现异步?同步任务和异步任务的执行顺序如何?异步任务是否存在优先级?同步与异步计算机领域中的同步与异步和我们现实社会的同步和异原创 2021-10-05 21:17:02 · 2272 阅读 · 61 评论 -
JavaScript之手撕new
前言什么是new呢?new运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象类型之一。光看定义还是有几分晦涩,直接看一个具体的例子,来了解一下JavaScript中的new实现的功能。举个例子// 现实中瘦不了,但网络中一定要保持苗条function Thin_User(name, age) { this.name = name; this.age = age;}Thin_User.prototype.eatToMuch = function () {原创 2021-10-04 22:04:26 · 2841 阅读 · 18 评论 -
JavaScript之手撕call、apply
前言call/apply的核心理念就是借用方法。这话乍一听上去,感觉有点云里雾里。讲一个生活中的实例来描述一下:老邓和老王是邻居,老邓家有火锅,老王家有烧烤架。老王家很少吃火锅,但突然有一天想吃火锅,他就可以去老邓家借用火锅,这样老王家不仅吃上了火锅,还没花买锅的钱。同样如果有一天老邓家想吃烧烤,便可以去老王家借烧烤架。call/apply做的便是类似的事,A对象上实现了一个方法,B对象由于一些需求,也需要调用同样的方法,最好的方法肯定是B直接去调用A对象的方法,自身无需扩展。基本介绍语法:f原创 2021-10-02 21:50:02 · 1970 阅读 · 25 评论 -
JavaScript之手撕常用数组高阶函数
前言JavaScript中提供了一些高阶函数,例如map、filter、every等,还有ES6新提供的find等,熟练使用后能提高编写代码的效率。下面就一起来学习一下这些高阶函数,并使用原生JS模拟实现。那么什么样的函数是高阶函数那?至少满足下列一个条件的函数:接受一个函数或者多个函数作为参数输出一个函数JavaScript中的高阶函数大多都是接受一个函数作为参数,具体传参如下:Array.prototype.func = function(callback(currentValue[,原创 2021-09-27 21:37:45 · 940 阅读 · 5 评论 -
JavaScript之作用域链
1.前言在文章的最开始,先简要的介绍一下关于作用域的几个概念,作用域相关的知识可以参考词法作用域与动态作用域[[scope]]: 每个函数在创建时,都会有一个隐藏属性[[scope]],它指向创建该函数时的AO。VO变量对象:也可称作AO,存储函数中所需要的变量、参数、函数等数据,VO中包含一个额外的属性,该属性指向创建该VO的函数本身。作用域链::[[scope]]中所存储的执行期上下文对象的集合,这个集合呈链式链接,这种链式链接叫做作用域链。查找变量:在那个函数里面查找变量,就从那个函数的作原创 2021-09-23 19:50:59 · 2772 阅读 · 0 评论 -
JavaScript静态作用域与动态作用域
概述在文章最开始,先学习几个概念:作用域:《你不知道的js》中指出,作用域是一套规则,这套规则用来管理引擎如何在当前作用域以及嵌套的子作用域中根据标识符名称进行变量查找。简单来说,作用域规定了如何查找变量。静态作用域:又称词法作用域,是指作用域在此法阶段就被确定了,不会改变。动态作用域:函数的作用域在函数调用时才决定的。静态作用域与动态作用域JavaScript采用的是词法作用域,函数定义的位置就决定了函数的作用域。具体看一个例子:var val = 1;function test()原创 2021-09-14 21:29:14 · 1658 阅读 · 0 评论 -
JavaScript预编译学习
JavaScript 预编译在重新学习JavaScript之前,先了解一下JavaScript从编译到执行的过程,大致分为四步:词法分析语法分析:检查代码是否存在错误,若有错误,引擎会抛出语法错误。同时会构建一颗抽象语法树(AST)预编译解释执行预编译JavaScript是解释性语言,也就是说,编译一行,执行一行,但js并非上来就进入编译环节,它在编译之前存在预编译过程。js中预编译一般有两种:全局的预编译和函数的预编译,分别发生在script内代码执行前和函数的执行前1. 函数预编原创 2021-09-11 07:46:08 · 216 阅读 · 0 评论