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

1.JavaScript是如何工作的:引擎,运行时和调用堆栈的概述!

本文是旨在深入研究JavaScript及其实际工作原理的系列文章中的第一篇:我们认为通过了解JavaScript的构建块以及它们是如何工作的,将能够编写更好的代码和应用程序。我们还将分享构建SeStHealsStad时使用的一些经验法则,这是一个轻量级的 JavaScript 应用程序,必须保持健壮和高性能以保持竞争力。如GitHut 统计数据所示,在GitHub中的活动存储库和总推送方面,Jav
1019 人浏览
xiaozhi

6.React 新特性 Hooks 讲解及实例(三)

使用 Context Hooks使用 Context ,首先顶层先声明Provier组件,并声明value属性,接着在后代组件中声明Consumer组件,这个Consumer子组件,只能是唯一的一个函数,函数参数即是Context的负载。如果有多个Context,Provider和Consumer任意的顺序嵌套即可。此外我们还可以针对任意一个Context使用contextType来简化对这个Co
1016 人浏览
xiaozhi

24.JavaScript中轻松遍历对象属性的几种方式

自身可枚举属性Object.keys()方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用for...in循环遍历该对象时返回的顺序一致 。如果对象的键-值都不可枚举,那么将返回由键组成的数组。这是合理的,因为大多数时候只需要关注对象自身的属性。来看看一个对象拥有自身和继承属性的例子,Object.keys()只返回自己的属性键:letsimpleColors={
1014 人浏览
xiaozhi

33.JS中,如何提高展开运算符的性能

本文主要讲解怎么提高展开运算的性能,在此之前先简单说说展开运算在数组中的工作原理。展开运算符或三个点,接受一个数组数组或通常是可迭代的[... arrayOrIterable]并将数组元素分解,并使用这些分解部分构造一个新数组。展开运算符可以放在数组中的任何位置:constnumbers=[1,2,3]; [0,...numbers];//=>[0,1,2,3] [0,...number
1011 人浏览
xiaozhi

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

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

13.揭秘变量提升

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

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

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

20.任务,微任务、队列和时间表

原文:https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/译者:前端小智为了保证的可读性,本文采用意译而非直译。想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你!思考下面 JavaScript 代码:console.log('scriptstart'); setTimeou
1000 人浏览
web

js中获取当前url路径

可以使用 window.location 获取当前页面url。以下是一些简单应用。<script> $(function(){ // 返回 web 主机的域名,如:http://127.0.0.1:8080/testdemo/test.html?id=1&name=test var url = window.location.
999 人浏览
xiaozhi

26.Promise 中的三兄弟 .all(), .race(), .allSettled()

作者:Dr. Axel Rauschmayer译者:前端小智来源:2ality为了保证的可读性,本文采用意译而非直译。想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你!从ES6 开始,我们大都使用的是Promise.all()和Promise.race(),Promise.allSettled()提案已经到第4阶段,因此将会成为ECMAScript 2020的一部分。1.概述Pr
997 人浏览
xiaozhi

9. 10个流行的JavaScript面试题

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

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

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

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

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

23.关于css margin,你需要知道的一切

原文:https://www.smashingmagazine.com/2019/07/margins-in-css/译者:前端小智为了保证的可读性,本文采用意译而非直译。当我们学习CSS时,我们大多数人学到的第一件事是CSS中盒子的各个部分的细节,这部分通过叫做 CSS盒、模型。“盒模型”中的元素之一是margin,即盒子周围的透明区域,它会将其他元素从盒子内容中推开。CSS1中描述了margi
987 人浏览
xiaozhi

6.JavaScript是如何工作的:与 WebAssembly比较 及其使用场景

这次将讲解 WebAssembly 是如何工作的,更重要的是,它是如何在性能方面与JavaScript进行比较的:加载时间、执行速度、垃圾收集、内存使用、API开放平台、调试、多线程和可移植性。首先,让我们看看WebAssembly做什么首先,我们有必要了解一下asm.js。2012年,Mozilla 的工程师 Alon Zakai 在研究 LLVM 编译器时突发奇想:许多 3D 游戏都是用 C
987 人浏览
xiaozhi

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

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

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

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

28.JS 在获取当前月的最后一天遇到的坑

为了更好的讲这节的内容,提示一个 JS 处理日期的小技巧,想获取上个月最后一天,只需要设置SetDate参数为0即可。varendDate=newDate(); //上个月最后一天 endDate.setDate(0);接着正文开始:使用 JS 获取当前月的最后一天,咱们通常的思路先获取下个月的第一天,然后在减去一天,就是当前月的最后一天,所以自然会用到下面的代码:vardate=newDat
971 人浏览
xiaozhi

4.React 新特性讲解及实例(一)

本节主要讲解以下几个新的特性:ContextContextTypelazySuspense错误边界(Error boundaries)momoContext定义:Context 提供了一种方式,能够让数据在组件树中传递而不必一级一级手动传递。这定义读的有点晦涩,来看张图:假设有如上的组件层级关系,如果最底层的Item组件,需要最顶层的Window组件中的变量,那我们只能一层一层的传递下去。非常的繁
970 人浏览
xiaozhi

11.JavaScript是如何工作的:渲染引擎和优化其性能的技巧

当你构建 Web 应用程序时,你不只是编写单独运行的 JavaScript 代码,你编写的 JavaScript 正在与环境进行交互。了解这种环境,它的工作原理以及它的组,这些有助于你够构建更好的应用程序,并为应用程序发布后可能出现的潜在问题做好充分准备。浏览器的主要组件包括:用户界面 (User interface):包括地址栏、后退/前进按钮、书签目录等,也就是你所看到的除了用来显示你所请求页
967 人浏览