自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_43623970的博客

前端交流群:852555810;Java交流群:1071602537

  • 博客(30)
  • 收藏
  • 关注

原创 通俗易懂的Deno 入门教程,一看便会

一、Deno 简介Deno 是一个 JavaScript/TypeScript 的运行时,默认使用安全环境执行代码,有着卓越的开发体验。Deno 含有以下功能亮点:默认安全。外部代码没有文件系统、网络、环境的访问权限,除非显式开启。支持开箱即用的 TypeScript 的环境。只分发一个独立的可执行文件(deno)。有着内建的工具箱,比如一个依赖信息查看器(deno info)和一个代码格式化工具(deno fmt)。有一组经过审计的 标准模块,保证能在 Deno 上工作。脚本代码能被打包为一

2020-05-20 20:24:33 1597

原创 前端小玩意儿:用three.js开发的手机太空穿越VR游戏,特效非常猛哦

hello,今天给大家用three.js开发了一个手机太空穿越VR游戏,确实不容易,小编的头发又少了一大截。Ok,废话少说,先看效果。一、效果图<!DOCTYPE html><html lang="en" ><head><meta charset="UTF-8"><title>Three.js Mobile VR Sonic</title><link rel="stylesheet" href="css/s

2020-05-19 15:47:13 474

原创 吊打面试官系列-58道vue面试题

1.vue优点?2.vue父组件向子组件传递数据?3.子组件像父组件传递事件?4.v-show 和 v-if指令的共同点和不同点?5. 如何让CSS只在当前组件中起作用?6. 的作用是什么?7.如何获取dom?8.说出几种vue当中的指令和它的用法?。9. vue-loader是什么?使用它的用途有哪些?10.为什么使用key?11.axios及安装?12.v-modal的使用13.请说出vue.cli项目中src目录每个文件夹和文件的用法?14.分别简述computed和w

2020-05-14 20:44:32 280

原创 十年前端工程师教你Vue CLI 首屏优化技巧

前言之前用 vuecli做了个博客,是一个单页面项目,大概有十个路由。直接 npm run build打包出来,有一个 1M的巨大 js文件。先挂载到服务器上试试 好家伙 这加载时间 仿佛过了半个世纪首屏页面整整加载了 9s 光加载那个大文件就花了 8s 这必须得做个优化了,没有用户能忍受 9s的白屏而不关闭页面的过程中,我还顺便把项目从 vuecli 2.x迁移到了 vuecli 3,所以接下来还会介绍一些它们在优化上的异同分析vuecli 2.x自带了分析工具 只要运行 npm run

2020-05-14 19:40:32 222

原创 学习前端的未来在哪里?今天详细的谈一下

以下我说的都是个人观点,比较宏观粗浅,主要针对的是前端工程师本身,没有深入技术和业务细节,请谨慎参考。职能概览前端工程师首先是个程序员,其次也是个软件工程师,他们工作在离用户最近的地方,负责人机交互和用户体验,虽然叫“前端”,但其实他们的工作边界其实已经很宽了。展望未来,我想前端的工作会继续分化,也会继续融合,分工是工业革命以来社会高效协作的主要推动力,以后很长一段时间应该也会维持这种形态,融合的原始推动力也是提高效率。分化和融合是不断的演化和互吸收转化的,不过核心的东西我想还是不会有太大变化。观

2020-05-14 17:03:35 407

原创 20-50K 前端工程师的部分面试题集锦 - 附答案

现在 20-50K 的招聘,我们先看看是什么要求?蚂蚁金服招聘要求:虾皮招聘:腾讯:明源云:毫无疑问,这些公司都是招聘的大前端技术栈的职位,之前文章提到过 2020 年大前端最理想的技术栈,其实真的弄得很明白那些,出去面试基本上不会有什么问题。小提示:如果发现小公司面试套你的技术和架构,迅速结束,开出天价薪资走人。下面正式公布部分面试题,以及答案:出于对各个公司的尊重,不公布是哪家公司的面试题,以及面试技巧。只公布部分面试题和答案,以及分析问题的角度,学习方向,面试中考察的不仅仅技术

2020-05-13 21:47:16 1513

原创 30道经典面试题,靠它我在一线拿到了20k的前端开发工程师岗位

题 1 :什么是防抖和节流?有什么区别?如何实现?**防抖:**触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间**思路:**每次触发事件时都取消之前的延时调用方法**节流:**高频事件触发,但在 n 秒内只会执行一次,所以节流会稀释函数的执行频率**思路:**每次触发事件时都判断当前是否有等待执行的延时函数题 2 :get请求传参长度的误区、get和post请求在缓存方面的区别误区:我们经常说get请求参数的大小存在限制,而post请求的参数大小是无限制的.

2020-05-13 17:05:37 723

原创 我的cpu占用率降了50%,就是因为用了flutter

近年来,移动互联网迅猛发展,业务需求频繁更新,业务内容动态化需求急剧增加,纯原生开发已经无法满足业务快速增长的需求,因此诞生了多种跨平台开发框架,如 H5+ 原生开发、React Native 和 Weex ,但这两年最受开发者青睐的莫过于 Flutter。目前,很多应用都集成了 Flutter.此次实践主要是为了验证整个流程,为后续大规模应用 Flutter 做铺垫,因此我们选择了一个业务相对简单的“技术论市”页面进行改造,该页面之前是 H5 实现的列表页,点击栏目会跳转到另一个 H5 页面详情页。改

2020-05-09 17:25:28 320

原创 让你渲染速度从14.65s到0.49s的前端tree优化实践

全篇主要思想:递归的本质是栈的读取。先看效果对比以下都是基于 10000 条子节点数据作对比,先上最终数据对比:递归版 tree,渲染速度: 14.65s,点击节点处理速度: 9.83s优化版 tree,渲染速度: 0.49s,点击节点处理速度: 0.18s递归组件实现 tree:渲染速度 15.71s -1.06s = 14.65s1- 递归版 tree 性能图递归组件版 tree 点击节点性能分析图:点击节点处理速度: 10.19s - 0.357s = 9.833s ≈ 9.83s[

2020-05-09 17:09:02 318

原创 用JS实现人脑和计算机交互,这个是真的牛!

使用 Leap Motion 控制 Sphero这是我第一次使用 JavaScript 控制浏览器之外的东西,我立刻被吸引住了!从那时起,我花了很多个人时间用于设计交互式项目的原型。每一次我都会尝试挑战自己,以便学习到新的东西。在尝试了几种不同的设备之后,我一直在寻找下一个挑战,于是就有了我的第一个大脑传感器 Neurosky(http://neurosky.com/)。大脑传感器的首次实验因为对大脑传感器开始感兴趣,所以我决定先购买一个 Neurosky,因为它比其他产品便宜得多。Neuro

2020-05-09 16:13:38 1517

原创 今天讲一下完整的前端模块化,很实用

前言在 JavaScript 发展初期就是为了实现简单的页面交互逻辑,寥寥数语即可;如今 CPU、浏览器性能得到了极大的提升,很多页面逻辑迁移到了客户端(表单验证等),随着 web2.0 时代的到来,Ajax 技术得到广泛应用,jQuery 等前端库层出不穷,前端代码日益膨胀,此时在 JS 方面就会考虑使用模块化规范去管理。本文内容主要有理解模块化,为什么要模块化,模块化的优缺点以及模块化规范, 并且介绍下开发中最流行的 CommonJS、AMD、 ES6、CMD 规范。本文试图站在小白的角度,用通俗易

2020-05-09 15:43:51 289

原创 你的js代码风格规范嘛?是不是经常被同事喷呢

现在写代码比以前好多了,代码的格式都有 eslint、prettier、babel(写新版语法) 这些来保证,然而,技术手段再高端都不能解决代码可读性(代码能否被未来的自己和同事看懂)的问题,因为这个问题只有人自己才能解决。我们写代码要写到下图中左边这样基本上就功德圆满了。一、变量相关(1)变量数量的定义NO:滥用变量let kpi = 4; // 定义好了之后再也没用过function example() { var a = 1; var b = 2; var c =

2020-05-09 14:59:19 154

原创 浏览器的工作原理你真的全知道嘛?史上最全图解其原理

可能每一个前端工程师都想要理解浏览器的工作原理。我们希望知道从在浏览器地址栏中输入 url 到页面展现的短短几秒内浏览器究竟做了什么;我们希望了解平时常常听说的各种代码优化方案是究竟为什么能起到优化的作用;我们希望更细致地了解浏览器的渲染流程。浏览器的多进程架构一个好的程序常常被划分为几个相互独立又彼此配合的模块,浏览器也是如此,以 Chrome 为例,它由多个进程组成,每个进程都有自己...

2020-05-08 15:41:08 281

原创 JavaScript设计模式你知道吗,带你深入去了解

使用适当的设计模式可以帮助你编写更好、更易于理解的代码。这样的代码也更容易维护。但是,重要的是不要过度使用它们。在使用设计模式之前,你应该仔细考虑你的问题是否符合设计模式。当你开始一个新的项目时,你不会立即开始编码。你必须定义项目的目的和范围,然后列出项目特性或规格说明。之后,你可以开始编写代码,或者,如果你正在参与的是一个更复杂的项目,那么你应该选择一个最适合项目的设计模式。什么是设计模式?...

2020-05-08 15:09:00 160

原创 会改变JavaScript未来的三个特性

你想不想知道下一波令人兴奋无比的 JavaScript 特性?你甚至都不知道自己需要这些特性。现在,我要向你展示三个可能会改变你编写 JavaScript 代码方式的提案。在开始介绍第一个提案之前,我想问一个简单的问题:“this”是什么?ECMAScript 中的 this 与很多其他编程语言中的 this 具有不同的语义,在其他编程语言中,this 通常指的是词法作用域。让我们通过一些小...

2020-05-08 14:46:04 123

原创 强大的正则表达式,你真的会灵活运用嘛

作者会用用最通俗的语言讲述最枯燥的基本知识,大家一定会听得津津有味.文章提纲:元字符重复限定符分组转义条件或区间零宽断言捕获和非捕获反向引用贪婪和非贪婪反义正则表达式在几乎所有语言中都可以使用,无论是前端的 JavaScript、还是后端的 Java、c#。他们都提供相应的接口 / 函数支持正则表达式。但很神奇的是:无论你大学选择哪一门计算机语言,都没有关于正则...

2020-05-08 14:20:26 217

原创 教你如何正确的拆分JavaScript代码

一个网站该如何以最佳的方式向用户发送资源文件?有很多不同的场景,不同的技术和不同的术语。在这篇文章里,我希望能够让你明白:哪种文件分割策略最适合你的网站和用户,以及如何实现。根据 Webpack 术语表,有两种不同的文件分割类型。它们看起来似乎可以互换,但显然不行:捆绑拆分:创建更多、更小的文件(但每个请求都需要加载它们)以获得更好的缓存效果。代码拆分:动态加载代码,用户只下载他们正在查看...

2020-05-08 13:28:15 906

原创 选择JavaScript开源库,你需要考虑的东西

对于 2018 年的 JavaScript 状态调查,我想深入挖掘一下。我不仅想知道人们都在使用哪些工具和库,还想知道他们为什么选择它们。经过一番研究,我开发出了一个评分系统,可以将它作为技术选型的衡量标准。12 因素测验为了让你能够更好地对各种库打分,我准备了一个快速测验,将引导你完成 12 个因素的评分,然后给出建议。如果你不确定要评估什么,只需选择你熟悉的库(如 React、Vue、jQu...

2020-05-08 13:06:56 164

原创 最美观最好用的JavaScript数据可视化库都在这里了

在 JS 程序中,为了实现漂亮的图形、图表和数据可视化,我们选择使用开源库。生活在数据爆炸的时代,我们开发的每一个应用程序几乎都使用或者借助数据来提升用户体验。为了帮助你轻松地为你最喜欢的应用程序添加漂亮的数据可视化,这里列出了 最好的 JavaScript 数据可视化库(排名不分先后)。1. D3jsstar 数:80KD3.js 可能是最流行和使用最广泛的 JavaScript 数据可视...

2020-05-07 15:52:43 261

原创 JavaScript中的数组(Array)方法你真的了解吗?

在过去的几个月,我发现我的拉取请求中存在四个完全相同的 JavaScript 错误。于是我写了这篇文章,总结了如何在 JavaScript 中正确使用地使用 Array 的方法!用 Array.includes 代替 Array.indexOf“如果你要在数组中查找元素,请使用 Array.indexOf”。我记得在学习 JavaScript 的时候,在教材中读到这样的一句话。毫无疑问,这句话...

2020-05-07 14:41:48 167

原创 原来JavaScript的闭包是这么回事!

我在工作中经常遇到闭包,然而却不能每次的很好的去解决,然后参加了一个讲座,再加上自己阅读了许多好的文章.自己慢慢的也就理解了,下面就来讲解我对闭包的理解.贤说一句,闭包真的很重要.前言在理解闭包之前,需要先理解一些概念,执行上下文就是其中的一个。有篇文章很好地解释了执行上下文,以下内容引用自这篇文章:在运行 JavaScript 代码时,它的运行环境是非常重要的,运行环境可能是如下几种中...

2020-05-07 14:09:51 121

原创 你认为你的javascript库依赖安全嘛?我告诉你,不安全!往下看你就知道了

现代的 JavaScript 开发人员都喜欢 npm。GitHub 和 npm registry 是开发人员在查找特定软件包时常去的地方。开源模块为开发人员提供了很多可在项目中重用的功能,帮助他们提高工作效率。可以说,如果不是这些开源软件包,今天的大多数框架都不会以当前的形式存在。一个成熟的企业级应用程序可能依赖数百个(如果不是数千个)软件包。通常的依赖包括直接依赖、开发依赖、捆绑依赖、生产依赖...

2020-05-07 13:49:20 552

原创 22

别告诉你写得代码都是最好的,没有垃圾代码,这是不可能的,代码的迭代,重构都是必须的. 如果出现了代码坏味道,说明你的代码写得不够好,需要重构才能让它们变成干净的代码。在这篇文章中,我将通过 GitHub 上的真实项目来解释代码坏味道,并向你展示如何重构这些带有坏味道的代码。重复代码和重复逻辑开发人员通常很懒惰,在某种程度上,这不算一件坏事。然而,因为懒惰而走上了复制黏贴代码的不归路那就不对了。...

2020-05-07 13:31:02 177

原创 还不了解JavaScript的反应性,用Vue实例来形象解释它

很多前端 JavaScript 框架(如 Angular、React 和 Vue)都有自己的反应性(Reactivity)引擎。理解反应式是什么以及如何运行能够提升你的开发水平,同时能够更高效地使用 JavaScript。在本文中,我们构建了与 Vue 源码相同的反应性功能。反应性系统当你第一次见到 Vue 的反应性系统时,你可能会感觉有些神奇。以下面这个简单的 Vue 应用为例:不知道基...

2020-05-06 16:08:51 143

原创 通往前端高级程序员必须掌握的JavaScript引擎精华

作为一名 JavaScript 开发者,深入了解 JavaScript 引擎是如何工作的将有助于你了解自己所写代码的性能特征。全文共由五个部分组成:1.JavaScript 引擎工作流程:介绍 JavaScript 引擎的处理流水线,这一部分会涉及到解释器/编译器的内容,且会分点介绍不同引擎间的差别与共同点;2.JavaScript 对象模型;3. 属性访问的优化:通过 Shapes、Tr...

2020-05-06 15:43:30 163

原创 你真的知道async/await的好处嘛, 并且还会用好呢

这不是一篇关于学习 FP(Functional Programming,函数式编程)原则或 JavaScript FP 库的文章。这方面的文章有很多,而本文将着重讲述在一个项目中切换到 JavaScriptS 函数式编程的冒险过程以及它所产生的后果。ES7 引入的 async/await 是 JavaScript 异步编程的一个重大改进,提供了在不阻塞主线程的情况下使用同步代码异步访问资源的能力...

2020-05-06 15:13:23 1598

原创 从事编程十年的程序员深谈JavaScript函数式

在故事开始之前,我已经是一个拥有 10 年以上经验的专业程序员。先是 C++,然后是 C#,再然后是 Python。我能够写各种代码,我对模式和原则的掌握程度已经让我自信到看不到有学习新东西的必要。我认为自己已经“掌握了 90%的编程精髓”。2016 年 5 月,我们开始开发 XOD 项目 (https://xod.io)。XOD 是一款为数字爱好者打造的可视化编程 IDE。为了保持它的随意性...

2020-05-06 13:51:21 221

原创 JavaScript成为统领世界第一语言,会有哪些期待呢?

JavaScript 已经成为大多数开发者工具箱的一部分。如果随着网络的发展,JavaScript 成为有史以来第一个真正占统治地位的编程语言,那会怎样?大约十年前,编码文化发生了重大变化。从最开始的孤军作战、与公司或开源项目里的同事合作,突然变成了一种更具社交性的体验。从如何分享代码到如何寻求答案,再到如何发现新技术,这一切都其他程序员的态度和行为有了更多的联系。简单地说,软件开发者通过...

2020-05-06 13:29:36 195

翻译 解决async/await滥用产生的困境

在 JavaScript 异步编程中,async/await 将 JavaScript 开发者从回调函数的困境中解救出来。但是随着人们对 async/await 的滥用,诞生出了新的 async/await 困境。本文将通过几个例子,解释什么是 async/await 困境,为什么会出现 async/await 困境,以及如何逃离 async/await 困境。希望本文能够帮你了解 async/...

2020-05-05 21:51:30 741

原创 高效率!V8引擎中优化JavaScript异步编程

JavaScript 的异步处理因为不是特别快而显得有点臭名昭著。更糟糕的是,调试实时 JavaScript 应用程序——特别是 Node.js 服务器是一件非常麻烦的事,特别是在涉及异步编程时。所幸的是,这些情况正在发生改变。本文将探讨如何在 V8 中优化异步函数和 promise,并介绍如何改进异步代码的调试体验。从回调到 promise 再到异步函数在 promise 成为 JavaSc...

2020-05-05 21:35:30 741

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除