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

10.搞懂JavaScript引擎运行原理

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

9. 10个流行的JavaScript面试题

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

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

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

7.JavaScript 原型的深入指南

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

6.JavaScript 的简洁之道

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

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

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

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

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

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

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

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

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

1.用 JavaScript 实现链表

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

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

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

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

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

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

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

3.Web 性能优化:缓存 React 事件来提高性能

JavaScript中一个不被重视的概念是对象和函数是如何引用的,并且直接影响 React性能。 如果创建两个完全相同的函数,它们仍然不相等,试试下面的例子:constfunctionOne=function(){alert('Helloworld!');}; constfunctionTwo=function(){alert('Helloworld!');};
1179 人浏览
xiaozhi

2.Web 性能优化: 图片优化让网站大小减少 62%

图像是web上提供的最基本的内容类型之一。他们说一张图片胜过千言万语。但是如果你不小心的话,图片大小有时高达几十兆。因此,虽然网络图像需要清晰明快,但它们尺寸可以缩小压缩的,使用加载时间保持在可接受的水平。在我的网站上,我注意到我的主页的页面大小 超过了1.1MB,图片占了约88%,我还注意到我提供的图像比它们需要的大(在分辨率方面),显然,还有很多改进的空间。我开始阅读 Addy Osmani
1503 人浏览
xiaozhi

1.Web 性能优化: 使用 Webpack 分离数据的正确方法

制定向用户提供文件的最佳方式可能是一项棘手的工作。 有很多不同的场景,不同的技术,不同的术语。在这篇文章中,我希望给你所有你需要的东西,这样你就可以:了解哪种文件分割策略最适合你的网站和用户知道怎么做根据Webpack glossary,有两种不同类型的文件分割。 这些术语听起来可以互换,但显然不是。Webpack 文件分离包括两个部分,一个是 Bundle splitting,一个是 Code
1166 人浏览
xiaozhi

28.JavaScript 如何创建、读取和删除cookie

Cookie为 Web 应用程序保存用户相关信息提供了一种有用的方法。例如,当用户访问咱们的站点时,可以利用Cookie保存用户首选项或其他信息,这样,当用户下次再访问咱们的站点时,应用程序就可以检索以前保存的信息。Cookie 是什么鬼Cookie是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。用户每次访问站点时,Web 应用程序都可以读取 Cookie 包含的信息。C
1416 人浏览
xiaozhi

27.如何使用useReducer Hook

看到“reducer”这个词,容易让人联想到Redux,但是在本文中,不必先理解Redux才能阅读这篇文章。咱们将一起讨论“reducer”实际上是什么,以及如何利用useReducer来管理组件中的复杂状态,以及这个新钩子对Redux意味着什么?Reducer 是什么鬼如果你熟悉Redux或数组上中的reduce方法,你大概就知道“reducer”是什么。 如果不熟悉,“reducer”大概是一
1454 人浏览
xiaozhi

26.ES新提案:双问号操作符

本文主要讲Gabriel Isenberg撰写的ES提案“Nullish coalescing for JavaScript”。 它提出??替换||的运算符,并提供默认值。这里先把这相提案叫作双问号操作符,如果你有好的叫法,欢迎留言讨论。1.概述双问号??的操作符跟||类似,如果给定变量值为null或者undefined,刚使用双问号后的默认值,否则使用该变量值。如下:>undefined?
1539 人浏览
xiaozhi

25.JavaScript中函数式编程基本原理简介

原文:https://medium.com/better-programming/introduction-to-the-basic-principles-of-functional-programming-in-javascript-6849ae196326译者:前端小智为了保证的可读性,本文采用意译而非直译。想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你!在长时间学习和使用
1363 人浏览