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

30.JS可选链的好处

JS的一些特性极大地改变了咱们的编码方式。从ES6年开始,对咱们代码影响最大的特性的解 、箭头函数、类和模块系统。到2019年8月,一个新的可选链提案已经进入第三阶段,这是一个很好的改进。可选链接改变了从深层对象结构访问属性的方式。来看看这是又是什么骚操作。这个礼拜《大迁世界》有抽奖活动,奖品:专栏 《左耳听风》 x3, 技术书 x5,欢迎关注回复:抽奖问题由于JS的动态特性,对象可以具有多层不同
1468 人浏览
web

input只允许上传图片类型文件

指定只允许选择图片accept="image/*"例如:<input type="file" name="file" class="element" accept="image/*">但是:这段代码在Chrome和Safari等Webkit浏览器下却出现了响应滞慢的问题,可能要等 6~10s 才能弹出文件选择对话框。简直不能忍呀。解决方法:确切指定类型例如:<input typ
1465 人浏览
xiaozhi

12.JavaScript 是如何工作的:深入网络层 + 如何优化性能和安全

正如在上一篇关于渲染引擎的博客文章中提到的,我们认为优秀的 JavaScript 开发人员和杰出的 JavaScript 开发人员之间的区别在于,后者不仅理解语言的具体细节,而且理解其内部结构和周遭环境。讲一点历史49年前,一种叫做 ARPAnet 的网诞生了。它是一个早期的分组交换网络,也是第一个实现TCP/IP套件的网络。20年后,蒂姆·伯纳斯-李提出了一种“网状结构”的建议,这种结构后来被称
1464 人浏览
hangge

K8s - 免费的Kubernetes在线实验平台介绍2(官网提供的在线系统)

kubernetes(简称K8s)是一个开源的,用于管理云平台中多个主机上的容器化的应用。 在之前的文章中,我介绍如何通过Docker为我们提供的实验网站Play with Kubernetes(PWK)来搭建Kubernetes集群(点击查看)。 但如果每次学习时都需要重新搭建一个K8s集群还是很麻烦。好在Kubernetes官网已经为我们准备好了现成的最小可用系统。我们通过Web浏览器就可
1444 人浏览
xiaozhi

17.JavaScript 是如何工作: Shadow DOM 的内部结构+如何编写独立的组件

概述Web Components 是一套不同的技术,允许你创建可重用的定制元素,它们的功能封装在你的代码之外,你可以在 Web 应用中使用它们。Web组件由四部分组成:Shadow DOM(影子DOM)HTML templates(HTML模板)Custom elements(自定义元素)HTML Imports(HTML导入)在本文中主要讲解Shadow DOM(影子DOM)Shadow DOM
1442 人浏览
xiaozhi

20.JavaScript 是如何工作的:模块的构建以及对应的打包工具

如果你是 JavaScript 的新手,一些像 “module bundlers vs module loaders”、“Webpack vs Browserify” 和 “AMD vs.CommonJS” 这样的术语,很快让你不堪重负。JavaScript 模块系统可能令人生畏,但理解它对 Web 开发人员至关重要。在这篇文章中,我将以简单的言语(以及一些代码示例)为你解释这些术语。 希望这对你
1428 人浏览
xiaozhi

5.React 新特性 Hooks 讲解及实例(二)

什么是 HooksHook 是 React 16.8 的新增特性。它可以让你在不编写类组件的情况下使用state以及其他的React特性。类组件的不足状态逻辑复用难缺少复用机制渲染属性和高阶组件导致层级冗余趋向复杂难以维护生命周期函数混杂不相干逻辑相干逻辑分散在不同生命周期this 指向困扰内联函数过度创建新句柄类成员函数不能保证thisHooks 优势优化类组件的三大问题函数组件无 this 问
1425 人浏览
xiaozhi

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

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

rem是什么,如何使用

使用rem很长时间了,一直想好好总结一下,迟迟没有写,太懒大家都懂。。。 当然还有一个原因不会写总结。在总结rem之前先说一下,之前是怎么解决移动端布局的。百分比布局宽度还好说 屏幕宽度100%,各个板块按照计算的比例各种xx%但是高度就不行了没有参照物,图片还好说,背景图、字体大小就呵呵了。只能做到大概。固宽320px这种方案简单粗爆,以px为单位该是多少就是多少。但是当手机分辨率越高,两边留白
1410 人浏览
xiaozhi

21.JavaScript 是如何工作的:JavaScript 的内存模型

//声明一些变量并初始化它们 vara=5 letb='xy' constc=true //分配新值 a=6 b=b+'z' c=false//类型错误:不可对常量赋值作为程序员,声明变量、初始化变量(或不初始化变量)以及稍后为它们分配新值是我们每天都要做的事情。但是当这样做的时候会发生什么呢? JavaScript 如何在内部处理这些基本功能?
1379 人浏览
xiaozhi

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

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

9. 4 个 useState Hook 示例

为了保证的可读性,本文采用意译而非直译。想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你!到 React 16.8 目前为止,如果编写函数组件,然后遇到需要添加状态的情况,咱们就必须将组件转换为类组件。编写class Thing extends React.Component,将函数体复制到render()方法中,修复缩进,最后添加需要的状态。今天,可以使用 Hook 获得相同的
1376 人浏览
xiaozhi

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

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

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

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

19.JavaScript 是如何工作的:编写自己的 Web 开发框架 + React 及其虚拟 DOM 原理

响应式原理Proxy 允许我们创建一个对象的虚拟代理(替代对象),并为我们提供了在访问或修改原始对象时,可以进行拦截的处理方法(handler),如 set()、get() 和 deleteProperty() 等等,这样我们就可以避免很常见的这两种限制(vue 中):添加新的响应性属性要使用 Vue.$set(),删除现有的响应性属性要使用数组的更新检测Proxyletproxy=newProx
1370 人浏览
xiaozhi

29.5个 JS 解构有趣的用途

1. 交换变量通常交换两个变量的方法需要一个额外的临时变量,来看看例子:leta=1; letb=2; lettemp; temp=a; a=b; b=temp; a;//=>2 b;//=>1temp是一个临时变量,它先保存a的值。然后把b的值赋值给a,接着将temp值赋给b。如果使用解构的方式会更简单,不需要什么鬼的temp变量。leta=1; letb=2
1370 人浏览
xiaozhi

19.JS 中有趣的事实

原文:https://dev.to/shafikshaon/interesting-facts-in-javascript-22nk译者:前端小智为了保证的可读性,本文采用意译而非直译。想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你!使用 JS 有很多有趣的地方。尽管工程师们每天都在与之打交道,但仍有一些语言没有被开发出来。本广将介绍一些你可能想不到的JS特性。NaN 是一个
1368 人浏览
xiaozhi

1.React高级组件精讲

React高级组件精讲高阶函数是以函数为参数,并且返回也是函数的的函数。类似的,高阶组件(简称HOC)接收 React 组件为参数,并且返回一个新的React组件。高阶组件本质也是一个函数,并不是一个组件。高阶组件的函数形式如下:constEnhanceComponent=higherOrderComponent(WrappedComponent)通过一个简单的例子解释高阶组件是如何复用的。现在有
1363 人浏览
hangge

SpringBoot - 自定义启动Banner(附:使用艺术字体)

我们知道Spring Boot项目启动时会在控制台打印出一个banner,下面演示如何定制这个banner。1,修改 banner 文字(1)首先在resources目录下创建一个banner.txt文件。(2)在这个文件中写入的文本将在项目启动时打印出来。比如我写入如下内容:12345-----------------------welcome to hangge.com------------
1355 人浏览
xiaozhi

9.JavaScript是如何工作的:Web推送通知的机制

推送通知在移动端非常常见。在 Web 端,尽管开发人员对其功能的需求很高,但出于某些原因,推送通知被引入 Web 的时间比较晚。简介Web 推送通知允许用户在 Web 应用程序需要更新时选择是否接收更新消息,目的是在重新吸引用户群注意的更新信息通常是对用户来说有趣、重要、实时的内容。推送通知的基础是我们上一篇讲的 Service Workers。在这种情况下,使用 Service Worker 的
1347 人浏览