React 18 发布计划

React 团队非常激动地与你分享一些最新的工作进展:

  • 我们已经开始了 React 18 版本的发布工作,这将是我们的下一个主要版本。
  • 我们创建了工作组,为社区逐步采用 React 18 的新特性做准备。
  • 我们发布了 React 18 Alpha 版本,便于库作者尝试它并为我们提出相应反馈。
  • ...

JavaScript 中数组 sort() 方法的基本使用

在日常的代码开发中,关于数组排序的操作可不少,JavaScript 中可以调用 sort 方法对数组进行快速排序。

sort

在日常的代码开发中,关于数组排序的操作可不少,JavaScript 中可以调用 sort 方法对数组进行快速排序。

今天,就数组的 sort 方法来学习一下,避免日后踩坑的悲惨遭遇。

sort

今天,就数组的 sort 方法来学习一下,避免日后踩坑的悲惨遭遇。

概念

sort 方法用于对数组的元素进行排序。

...

浅谈JavaScript拦截XSS攻击

XSS/跨站脚本攻击,是一种代码注入网页攻击,攻击者可以将代码植入到其他用户都能访问到的页面(如论坛、留言板、贴吧等)中。

如今,XSS 攻击所涉及的场景愈发广泛。越来越多的客户端软件支持 html 解析和 JavaScript 解析,比如:HTML 文档、XML 文档、Flash、PDF、QQ、一些音乐播放器以及浏览器的功能界面等。这些用户经常使用的场景往往都是 XSS 攻击的高发地带。

...

旋转数组

题目描述

给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。

k

给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。

k

给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。

进阶:

  • 尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。
  • 你可以使用空间复杂度为 O(1) 的 原地 算法解决这个问题吗?
  • 原地 
  • 你可以使用空间复杂度为 O(1) 的 原地 算法解决这个问题吗?
  • ...

JavaScript实现快速排序

空间复杂度 O(logn),时间复杂度 O(nlogn)。 对于规模为 n 的问题,一共要进行 log(n) 次的切分,和基准值进行 n-1 次比较,n-1 次比较的时间复杂度是 O(n),所以快速排序的时间复杂度为 O(nlogn)。 但是,如果每次在选择基准值的时候,都不幸地选择了子数组里的最大或最小值。即每次把把数组分成了两个更小长度的数组,其中一个长度为 1,另一个的长度是子数组的长度减 1。这样的算法复杂度变成 O(n²)。 和归并排序不同,快速排序在每次递归的过程中,只需要开辟 O(1) 的存储空间来完成操作来实现对数组的修改;而递归次数为 logn,所以它的整体空间复杂度完全取决于压堆栈的次数。

JavaScript实现冒泡排序法

定义一个布尔变量 hasChange ,用来标记每轮是否进行了交换。在每轮遍历开始时,将 hasChange 设置为 false。 若当轮没有发生交换,说明此时数组已经按照升序排列, hashChange 依然是为 false。此时外层循环直接退出,排序结束。

d3力导向图

力导向图也就是我们所说的关系图,通过节点和连线形成一个关系网。D3js就是实现节点与线连在一起,形成关系图也就是 。

JavaScript 中如何实现大文件并发上传?

本文将介绍如何利用 async-pool 这个库提供的 asyncPool 函数来实现大文件的并发上传。相信有些小伙伴已经了解大文件上传的解决方案,在上传大文件时,为了提高上传的效率,我们一般会使用 Blob.slice 方法对大文件按照指定的大小进行切割,然后通过多线程进行分块上传,等所有分块都成功上传后,再通知服务端进行分块合并。 ...

Vue.js最佳实践

对大部分人来说,掌握Vue.js基本的几个API后就已经能够正常地开发前端网站。但如果你想更加高效地使用Vue来开发,成为Vue.js大师,那下面我要传授的这五招你一定得认真学习一下了。第一招:化繁为简的Watchers ...