Web开发( 右侧选择分类 )
xiaozhi

18.JS变量生命周期:为什么 let 没有被提升

译者:前端小智原文:https://dmitripavlutin.com/variables-lifecycle-and-why-let-is-not-hoisted/为了保证的可读性,本文采用意译而非直译。提升是将变量或函数定义移动到作用域头部的过程,通常是var声明的变量和函数声明function fun() {...}。当 ES6 引入let(以及与let类似声明的const和class)声
2768 人浏览
xiaozhi

16.8个问题看你是否真的懂 JS

原文:https://dev.to/aman_singh/so-you-think-you-know-javascript-5c26译者:前端小智为了保证的可读性,本文采用意译而非直译。JavaScript 是一种有趣的语言,我们都喜欢它,因为它的性质。浏览器是JavaScript的主要运行的地方,两者在我们的服务中协同工作。JS有一些概念,人们往往会对它掉以轻心,有时可能会忽略不计。原型、闭包和
2183 人浏览
xiaozhi

15.Array.slice 8种不同用法

译者:前端小智原文:https://codeburst.io/js-by-example-8-distinct-uses-of-javascript-array-slice-4e4e95a470e4为了保证的可读性,本文采用意译而非直译。想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你!JS数组slice方法是JS语言中最强大、最常用的内建函数之一。随着React和其他面向功能的
2233 人浏览
xiaozhi

14.如何使用 Set 来提高代码的性能

译者:前端小智原文:https://medium.com/@bretcameron/how-to-make-your-code-faster-using-javascript-sets-b432457a4a77为了保证的可读性,本文采用意译而非直译。我确信有很多开发人员坚持使用基本的全局对象:数字,字符串,对象,数组和布尔值。对于许多用例,这些都是需要的。 但是如果想让你的代码尽可能快速和可扩展,
2107 人浏览
xiaozhi

13.揭秘变量提升

为了保证可读性,本文采用意译而非直译。引用 ES6 规范作者 Allen Wirfs-Brock一条最近的推特:变量提升是一个陈旧且令人困惑的术语。甚至在 ES6之前:变量提升的意思究竟是“提升至当前作用域顶部”还是“从嵌套的代码块中提升到最近的函数或脚本作用域中”?还是两者都有?受 Allen 启发,本文提出了一种不同的方法来描述变量声明。1. 声明:作用域与激活可以将声明分为两个方面:作用域:
2376 人浏览
xiaozhi

12. 8个有用的JS技巧

译者:前端小智原文:https://devinduct.com/blogpost/26/8-useful-javascript-tricks这些技巧可能大家大部分都用过了,如果用过就当作加深点映像,如果没有遇到过,就当作学会了几个技巧。1. 确保数组值使用 grid ,需要重新创建原始数据,并且每行的列长度可能不匹配, 为了确保不匹配行之间的长度相等,可以使用Array.fill方法。letarr
2163 人浏览
xiaozhi

11.需要知道的JS的日期知识,都在这了

为了保证的可读性,本文采用意译而非直译。想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你!JS中的Date很奇怪。当我们需要处理日期和时间的时候比较麻烦,经常借助像date-fns和Moment这样的库。但是我们并不总是需要使用库。如果知道要注意一些总是,日期实际上可以非常简单。接下介绍有关Date对象的所有信息时区我们的世界有数百个时区。 在JavaScript中,我们只关心两
2145 人浏览
xiaozhi

10.搞懂JavaScript引擎运行原理

译者:前端小智原文:https://codeburst.io/js-essentials-the-javascript-engine-302ff38e8465为了保证可读性,本文采用意译而非直译。想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你!一些名词JS引擎— 一个读取代码并运行的引擎,没有单一的“JS引擎”;,每个浏览器都有自己的引擎,如谷歌有V。作用域— 可以从中访问变量
2027 人浏览
xiaozhi

9. 10个流行的JavaScript面试题

译者:前端小智原文:https://medium.com/@jlanne119/10-popular-interview-questions-of-javascript-for-front-end-developers-973c2052892e为了保证可读性,本文采用意译而非直译想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你!1.如何理解 JS 中的this关键字?JS 初学者
2213 人浏览
xiaozhi

8.如何在JavaScript中访问暂未存在的嵌套对象

为了保证可读性,本文采用意译而非真译。JavaScript 是个很神奇的东西。但是 JavaScript中的一些东西确实很奇怪,让人摸不着头脑。其中之一就是当你试图访问嵌套对象时,会遇到这个错误Cannot read property 'foo' of undefined在大多数情况下,处理嵌套的对象,通常我们需要安全地访问最内层嵌套的值。 来个粟子:constuser={ id
2221 人浏览
xiaozhi

7.JavaScript 原型的深入指南

为了保证可读性,本文采用音译而非直译不学会怎么处理对象,你在 JavaScript 道路就就走不了多远。它们几乎是 JavaScript 编程语言每个方面的基础。事实上,学习如何创建对象可能是你刚开始学习的第一件事。对象是键/值对。创建对象的最常用方法是使用花括号{},并使用点表示法向对象添加属性和方法。letanimal={} animal.name='Leo' animal
1880 人浏览
xiaozhi

6.JavaScript 的简洁之道

简介如果你关注代码本身和代码的编写方式,而不是只关心它是否能工作,那么你写代码是有一定的水准。专业开发人员将为未来的自己和“其他人”编写代码,而不仅仅只编写当前能工作就行的代码。在此基础上,简洁代码可以定义为自解释的、易于人理解的、易于更改或扩展的代码。以下列表一些好编写方式,仅供参考,当然,如果你有更好的方式,欢迎留言。1. 强类型检查用===代替==//如果处理不当,它会极大地影响程序逻辑。这
2065 人浏览
xiaozhi

5.搞懂 Javascript中this 指向及继承原理

在理解继承之前,需要知道 js 的三个东西:什么是 JS 原型链this 的值到底是什么JS 的new 到底是干什么的一、什么是 JS 原型链?我们知道 JS 有对象,比如varobj={name:'obj'}我们通过控制台把obj 打印出来:我们会发现obj已经有几个属性(方法)了。那么问题来了:valueOf/toString/constructor是怎么来?我们并没有给obj
2100 人浏览
xiaozhi

4.如何在 JS 循环中正确使用 async 与 await

async与await的使用方式相对简单。 蛤当你尝试在循环中使用await时,事情就会变得复杂一些。在本文中,分享一些在如果循环中使用await值得注意的问题。准备一个例子对于这篇文章,假设你想从水果篮中获取水果的数量。constfruitBasket={ apple:27, grape:0, pear:14 };你想从fruitBasket获得每个水果的数量。 要获取水果的数量,可以使
1957 人浏览
xiaozhi

3.我从来不理解JavaScript闭包,直到有人这样向我解释它

正如标题所述,JavaScript闭包对我来说一直有点神秘,看过很多闭包的文章,在工作使用过闭包,有时甚至在项目中使用闭包,但我确实是这是在使用闭包的知识。最近看到的一些文章,终于,有人用于一种让我明白方式对闭包进行了解释,我将在本文中尝试使用这种方法来解释闭包。##准备在理解闭包之前,有个重要的概念需要先了解一下,就是 js 执行上下文。这篇文章是执行上下文 很不错的入门教程,文章中提到:当代码
2096 人浏览
xiaozhi

1. 11种在大多数教程中找不到的JavaScript技巧

当我开始学习JavaScript时,我把我在别人的代码、code challenge网站以及我使用的教程之外的任何地方发现的每一个节省时间的技巧都列了一个清单。在这篇文章中,我将分享11条我认为特别有用的技巧。这篇文章是为初学者准备的,但我希望即使是中级JavaScript开发人员也能在这个列表中找到一些新的东西。1..过滤唯一值Set对象类型是在ES6中引入的,配合展开操作...一起,我们可以使
2249 人浏览
xiaozhi

1.用 JavaScript 实现链表

什么是链表单链表是表示一系列节点的数据结构,其中每个节点指向链表中的下一个节点。 相反,双向链表具有指向其前后元素的节点。与数组不同,链表不提供对链表表中特定索引访问。 因此,如果需要链表表中的第三个元素,则必须遍历第一个和第二个节点才能到得到它。链表的一个好处是能够在固定的时间内从链表的开头和结尾添加和删除项。这些都是在技术面试中经常被问到的数据结构,所以让我们开始吧。另外,可以对链表进行排序。
2244 人浏览
xiaozhi

6.Web 性能优化:Preload,Prefetch的使用及在 Chrome 中的优先级

今天,我们将深入研究Chrome 的网络栈,以明确 web 加载原语(如<link rel= preload >&<link rel= prefetch >) 背后的工作原理,以便你能够更有效地使用它们。如其他文章所述,preload是一个声明式fetch,可以强制浏览器在不阻塞document的onload事件的情况下请求资源。Prefetch告诉浏览器这个资源将
2560 人浏览
xiaozhi

5.Web 性能优化:理解及使用 JavaScript 缓存

随着我们的应用程序的不断增长并开始进行复杂的计算时,对速度的需求越来越高(????️),所以流程的优化变得必不可少。 当我们忽略这个问题时,我们最终的程序需要花费大量时间并在执行期间消耗大量的系统资源。缓存是一种优化技术,通过存储开销大的函数执行的结果,并在相同的输入再次出现时返回已缓存的结果,从而加快应用程序的速度。如果这对你没有多大意义,那没关系。 本文深入解释了为什么需要进行缓存,缓存是什么,如何
2338 人浏览
xiaozhi

4.Web 性能优化:21种优化CSS和加快网站速度的方法

CSS 必须通过一个相对复杂的管道,就像 HTML 和 JavaScript一样,浏览器必须从服务器下载文件,然后进行解析并将其应用于DOM。由于优化程度极高,这个过程通常非常快——对于不基于框架的小型 web 项目,CSS通常只占总资源消耗的一小部分。框架打破了这种平衡。包括一个 JavaScript GUI 堆栈,如 jQuery UI,可以观察 CSS, JS 和 HTML大小逐渐的变大。通
2414 人浏览