
JavaScript
小可乐程序员
这个作者很懒,什么都没留下…
展开
-
面试一定会问到的-js事件循环
最近在看js事件循环,事件循环是js运行的核心,js 是单线程的, js 的异步事件就是依赖于事件循环机制,网上找了些资料,发现腾讯云这篇 js事件循环 写的很详细,下文基于这一篇文章,外加上自己的一些总结。事件循环首先,我们来解释下事件循环是个什么东西: 就我们所知,浏览器的js是单线程的,也就是说,在同一时刻,最多也只有一个代码段在执行,可是浏览器又能很好的处理异步请求,那么到底是为什么呢...原创 2019-10-17 17:18:12 · 305 阅读 · 0 评论 -
JavaScript 的简洁之道
简介如果你关注代码本身和代码的编写方式,而不是只关心它是否能工作,那么你写代码是有一定的水准。专业开发人员将为未来的自己和“其他人”编写代码,而不仅仅只编写当前能工作就行的代码。在此基础上,简洁代码可以定义为自解释的、易于人理解的、易于更改或扩展的代码。以下列表一些好编写方式,仅供参考,当然,如果你有更好的方式,欢迎留言。想阅读更多优质文章请猛戳[GitHub博客][1],一年百来篇优质文...原创 2019-10-14 15:56:52 · 183 阅读 · 0 评论 -
收下这波 JS 技巧,从此少加班
各种业务开发都离不开对数据的处理,然而遇到的很多数据都是不好处理的。这个时候就需要寻求搜索引擎的帮助。这种方法效率是非常低下的,而且根据作者的个性不能保证其对自己的口味。因此这篇文字包含了一份 JS 常用业务函数手册,例如时间格式的处理、用的是哪个手机浏览器,手机号、邮箱的验证,以此来提高你的开发效率常用 JS 函数1.时间格式化界面展示的时间千变万化, 所以一个处理时间的函数,它的重要性就...原创 2019-09-10 14:56:24 · 113 阅读 · 0 评论 -
我从来不理解JavaScript闭包,直到有人这样向我解释它
正如标题所述,JavaScript闭包对我来说一直有点神秘,看过很多闭包的文章,在工作使用过闭包,有时甚至在项目中使用闭包,但我确实是这是在使用闭包的知识。最近看到的一些文章,终于,有人用于一种让我明白方式对闭包进行了解释,我将在本文中尝试使用这种方法来解释闭包。想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你!为了回馈读者,《大迁世界》不定期举行(每个月一到三次),现金抽...原创 2019-09-12 15:59:12 · 101 阅读 · 0 评论 -
JS中,如何提高展开运算符的性能
为了保证的可读性,本文采用意译而非直译。本文主要讲解怎么提高展开运算的性能,在此之前先简单说说展开运算在数组中的工作原理。展开运算符或三个点,接受一个数组数组或通常是可迭代的[… arrayOrIterable]并将数组元素分解,并使用这些分解部分构造一个新数组。展开运算符可以放在数组中的任何位置:const numbers = [1, 2, 3];[0, ...numbers]; //...原创 2019-09-16 15:24:15 · 149 阅读 · 0 评论 -
JS 中创建自定义排序方法
为了保证的可读性,本文采用意译而非直译。一般情况咱们排序大都按数字或字母顺序,但也有一些情况下,咱们可能需要自定义排序顺序。在此之前先简单介绍一下 reduce 方法:语法:arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])callback:执行数组中每个值的函数,包含四个参数:...原创 2019-09-20 16:47:58 · 211 阅读 · 0 评论 -
JavaScript 运行原理解析
说到JavaScript的运行原理,自然绕不开JS引擎,运行上下文,单线程,事件循环,事件驱动,回调函数等概念。本文主要参考文章[1,2]。为了更好的理解JavaScript如何工作的,首先要理解以下几个概念。JS Engine(JS引擎)Runtime(运行上下文)Call Stack (调用栈)Event Loop(事件循环)Callback (回调)1.JS Engine简单...原创 2019-09-22 15:12:13 · 757 阅读 · 0 评论 -
10个JavaScript难点
为了保证可读性,本文采用意译而非直译,并且对示例代码进行了大量修改。另外,本文版权归原作者所有,翻译仅用于学习。立即执行函数立即执行函数,即Immediately Invoked Function Expression (IIFE),正如它的名字,就是创建函数的同时立即执行。它没有绑定任何事件,也无需等待任何异步操作:(function() { // 代码// …})();fu...原创 2019-09-22 15:15:08 · 102 阅读 · 0 评论 -
JavaScript原型详解
1,前言下面是2008年Github创建以来,各种编程语言的排名情况排名其中JavaScript自2013年之后就盘踞第一名,成为github上被使用最多的语言,早期,JS的使用还主要集中于浏览器中,但是随着node.js进军服务器开发和React Native逐渐向移动端渗透,一个属于JS的全栈时代就要来临了。而且JS界还流传一句名言:“所有能用JS开发的应用程序,最终都会用JS来开发”。...原创 2019-09-22 15:19:04 · 89 阅读 · 0 评论 -
容易被遗忘的前端基础:JavaScript 内存详解
目录简介某些语言,比如C有低级的原生内存管理原语,像malloc()和free()。开发人员使用这些原语可以显式分配和释放操作系统的内存。相对地,JavaScript会在创建变量(对象、字符串)时自动分配内存,并在这些变量不被使用时自动释放内存,这个过程被称为垃圾回收。这个“自动”释放资源的特性带来了很多困惑,让JavaScript(和其他高级级语言)开发者误以为可以不关心内存管理。这是一...原创 2019-09-25 16:37:10 · 146 阅读 · 0 评论 -
JS无形装逼,最为致命
单行简洁的代码很难维护(有时甚至难以理解),但这并不能阻止广大攻城狮们脑洞,在编写简洁的代码后获得一定的满足感。以下我最近的一些收藏javascript精简代码集合。它们都可以在你的开发控制台中运行,你可以从控制台中查看运行结果。同时,我希望你能在评论中分享一些自己的藏品!日历创建过去七天的数组,如果将代码中的减号换成加号,你将得到未来7天的数组集合// 创建过去七天的数组[...Arr...原创 2019-09-27 15:14:21 · 105 阅读 · 0 评论 -
你应该要知道的Vue.js
该篇文章主要对Vue中应该要掌握的知识点的一些整理。只是一个引子,并没有过多的深入,但是希望能根据这篇文章从各个点对Vue有一个更好的了解,对自己有一个更好的定位。只会用API的前端不是好的程序员。组件data为什么必须是函数?因为组件可能被多处使用,但它们的data是私有的,所以每个组件都要return一个新的data对象,如果共享data,修改其中一个会影响其他组件组件通信父子组件通信...原创 2019-09-29 15:44:27 · 161 阅读 · 0 评论 -
JavaScript的原型链图
各种对象的__proto__和函数的prototype 都阐明了不能保证100% 正确(有问题直接注释或者私信偶) 但是互联网上原型链图比这个全的偶没见过(右上角的Number Date们需要改进)可以改进但是 不能再简单了有点晕吧 大部分人都会晕所有网上 一堆 xxx.proto.proto.proto 皆可由此图搞定那些刁钻古怪的问题退化为孔乙己的茴字问题死记硬背吧 先 要不改行...原创 2019-10-10 15:23:55 · 221 阅读 · 0 评论 -
JS中轻松遍历对象属性的几种方式
自身可枚举属性Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for…in 循环遍历该对象时返回的顺序一致 。如果对象的键-值都不可枚举,那么将返回由键组成的数组。这是合理的,因为大多数时候只需要关注对象自身的属性。来看看一个对象拥有自身和继承属性的例子,Object.keys()只返回自己的属性键:let simpleCo...原创 2019-09-09 16:04:48 · 203 阅读 · 0 评论 -
夯实JS主要知识点
基本类型和引用类型类型判断强制类型转换作用域event loop执行上下文理解函数的执行过程this 指向闭包原型和原型链js 的继承基本类型和引用类型js中数据类型分为基本类型和引用类型,基本类型有六种:numberstringbooleannullundefinedsymbol (es6)引用类型包括对象object、数组array、函数function等...原创 2019-09-05 16:50:45 · 92 阅读 · 0 评论 -
Node.js 十大常见的开发者错误
前言自 Node.js 面世以来,它获得了大量的赞美和批判。这种争论会一直持续,短时间内都不会结束。而在这些争论中,我们常常会忽略掉所有语言和平台都是基于一些核心问题来批判的,就是我们怎么去使用这些平台。无论使用 Node.js 编写可靠的代码有多难,而编写高并发代码又是多么的简单,这个平台终究是有那么一段时间了,而且被用来创建了大量的健壮而又复杂的 web 服务。这些 web 服务不仅拥有良好...原创 2019-08-29 15:50:22 · 170 阅读 · 0 评论 -
解密Vue SSR
引言最近笔者和小伙伴在研究Vue SSR,但是市面上充斥了太多的从0到1的文章,对大家理解这其中的原理帮助并不是很大,因此,本文将从Vue SSR的构建流程、运行流程、SSR的特点和利弊这几方面对Vue SSR有一个较为详细的介绍。最后还将附上一个笔者实现的去除Vue全家桶的Demo案例。剖析构建流程首先我们镇上一张官网给出的构建图:解密Vue SSRVue SSR构建流程app.js...原创 2019-08-29 16:49:54 · 260 阅读 · 0 评论 -
React、Vue在IE的兼容问题
Vue在IE10中无法获取父元素Vue在IE10中无法获取父元素原始let parent = this.$el.parentElement解决这玩意还能咋解决 用原生呗 class、id都行let parent = document.getElementsByClassName(‘top-chart’)[0]router-link在IE中没有作用原始解决方案1由于URL的h...原创 2019-08-29 16:58:59 · 792 阅读 · 0 评论 -
JS 前20个常用字符串方法及使用方式
charAt(x)charCodeAt(x)concat(v1,v2…)fromCharcode(c1,c2)indexOf(substr, [start])lastIndexOf(substr, [start])match(regexp)replace(regexp/substr, replacetext)search(regexp)slice(start, [end])sp...原创 2019-08-30 15:28:06 · 183 阅读 · 0 评论 -
写给前端工程师的Flutter教程
导语 最全Flutter教程,涉及Dart语言,Flutter Widget,Flutter状态管理等。最爱折腾的就是前端工程师了,从 jQuery 折腾到 AngularJs,再折腾到 Vue、React。 最爱跨屏的也是前端工程师,从 phonegap,折腾到 React Native,这不又折腾到了 Flutter。图啥?低成本地为用户带来更优秀的用户体验。目前来说Flutter可能...原创 2019-08-30 15:31:22 · 121 阅读 · 0 评论 -
关于JS中一些重要的api实现,巩固你的原生JS功底
在面试中,常常会遇到一些手写XXX之类的面试题,因此好好总结一下,对于巩固我们的原生js的基础是非常必要的。尽管在网上已经有了非常多的总结文章,但在我看来有一个普遍的问题,那就是把原理性的东西过于复杂化了。如果站在面试官的角度,他的目的是在最短的时间内考察出面试者对于JS语言的理解程度,但是在看了网站的诸多总结文章后我发现其中的代码有很大一部分是做意义不大的操作,比如实现一个简单的防抖,只要是核...原创 2019-08-30 15:34:18 · 158 阅读 · 0 评论 -
「手把手」15分钟搭一个企业级脚手架
1 写在前面的话搭一个脚手架,考验了你的 nodejs 水平、工程化能力、以及工具服务的设计能力,是前端进阶不可或缺的过程笔者在开发 cli 的过程中,调研流行的 cli 并形成最佳实践,本文旨在用最短的篇幅实现主要功能,揭露核心原理,同时提供 demo 仓库与大家学习探讨。通篇阅读大约需要 10 分钟,基于本教程自己撸一个 cli 大约需要花费 15 分钟2 脚手架的雏形其实脚手架的初...原创 2019-08-30 15:40:41 · 239 阅读 · 0 评论 -
5个 JS 解构有趣的用途
1. 交换变量通常交换两个变量的方法需要一个额外的临时变量,来看看例子:let a = 1;let b = 2;let temp;temp = a;a = b;b = temp;a; // => 2b; // => 1复制代码temp是一个临时变量,它先保存a的值。然后把b的值赋值给a,接着将temp值赋给 b。如果使用解构的方式会更简单,不需要什么鬼的 temp 变量。le...原创 2019-09-01 15:01:09 · 194 阅读 · 0 评论 -
javaScript自带的深拷贝
通过引用调用(call by reference)译注:通过引用调用可能有点绕,你就当做"用引用作为参数调用"。JavaScript通过引用传递所有的东西。如果你不知道这句话的意思,那么看下这个例子:function mutate(obj) {obj.a = true;}const obj = {a: false};mutate(obj)console.log(obj.a); //...原创 2019-09-01 15:02:19 · 138 阅读 · 0 评论 -
JavaScript 基础知识点
JavaScript (JS) 是一种编程语言,为通常用于客户端(client-side)的网页动态脚本,不过,也常通过像Node.js这样的包,用于 服务器端(server-side)。今天,发一篇关于Js基础知识点的文章,为更多的新人指路。总会有人在你的前方为你探路,前行之路,你不孤单~JavaScript 基础知识点先来个目录结构───1、变量声明│ └───JavaScript ...原创 2019-09-02 14:55:19 · 170 阅读 · 0 评论 -
JS 如何创建、读取和删除cookie
Cookie 为 Web 应用程序保存用户相关信息提供了一种有用的方法。例如,当用户访问咱们的站点时,可以利用 Cookie 保存用户首选项或其他信息,这样,当用户下次再访问咱们的站点时,应用程序就可以检索以前保存的信息。Cookie 是什么鬼Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。用户每次访问站点时,Web 应用程序都可以读取 Cookie 包...原创 2019-09-03 15:22:47 · 181 阅读 · 0 评论 -
Java并发编程——ThreadLocal
ThreadLocal概述一、对ThreadLocal的理解1.1 ThreadLocal在JDK中的定义1.2 应用场景二、深入分析ThreaLocal类2.1 get()2.2 setIntialValue()2.3 ThreadLocal类是如何为每个线程创建变量副本三、ThreadLocal的应用场景3.1 数据库连接问题3.2 Session管理3.3 Threa...原创 2019-09-03 17:43:10 · 143 阅读 · 0 评论 -
如何系统性的学习 Javascript?
我来推荐一本书:《Ruby 元编程》imageimage这本书虽然是以Ruby为教学语言,但实际上内里介绍的很多抽象和设计是很多动态语言所通用的,尤其是在ES6/ES7 又广泛的吸纳Python、Ruby的特性和优点的今天,总之非常值得一读。======================================================================谢邀。...原创 2019-08-28 17:03:48 · 192 阅读 · 0 评论