javascript
CjBkl
主要是做前端开发的菜鸟,热爱后端工作,哈哈
展开
-
JavaScript 实现选择排序
选择排序的基本思想为每一趟从待排序的数据元素中选择最小(或最大)的一个元素作为首元素,直到所有元素排完为止。在算法实现时,每一趟确定最小元素的时候会通过不断地比较交换来使得首位置为当前最小,交换是个比较耗时的操作。其实 我们很容易发现,在还未完全确定当前最小元素之前,这些交换都是无意义的。我们可以通过设置一个变量 min,每一次比较 仅存储较小元素的数组下标,当轮循环结束之后,那这个变量存储的就是当前最小元素的下标,此时再执行交换操作即可。 代码实现:function selectSort(ar原创 2021-07-18 11:43:39 · 392 阅读 · 0 评论 -
JavaScript 实现冒泡排序
冒泡排序的基本思想是,对相邻的元素进行两两比较,顺序相反则进行交换,这样,每一趟会将最小或最大的元素“浮”到顶端, 最终达到完全有序。 代码实现: function bubbleSort(arr) { if (!Array.isArray(arr) || arr.length <= 1) return; let lastIndex = arr.length - 1; while (lastIndex > 0) { // 当最后一个交换的元原创 2021-07-18 11:16:44 · 248 阅读 · 1 评论 -
JavaScript 如何查找一篇英文文章中出现频率最高的单词?
直接上代码function findMostWord(article) { // 合法性判断 if (!article) return; // 参数处理 article = article.trim().toLowerCase(); let wordList = article.match(/[a-z]+/g), visited = [], maxNum = 0, maxWord = ""; article = .原创 2021-07-18 10:47:05 · 737 阅读 · 1 评论 -
js 中倒计时的纠偏实现?
在前端实现中我们一般通过 setTimeout 和 setInterval 方法来实现一个倒计时效果。但是使用这些方法会存在时间偏差的问题,这是由于 js 的程序执行机制造成的,setTimeout 和setInterval 的作用是隔一段时间将回调事件加入到事件队列中,因此事件并不是立即执行的,它会等到当前执行栈为空的时候再取出事件执行,因此事件等待执行的时间就是造成误差的原因。 一般解决倒计时中的误差的有这样两种办法:(1)第一种是通过前端定时向服务器发送请求获取最新的时间差,以此来校准倒计时时原创 2021-07-18 10:27:31 · 505 阅读 · 0 评论 -
JavaScript 中 Math.ceil 和 Math.floor
Math.ceil() === 向上取整,函数返回一个大于或等于给定数字的最小整数。 Math.floor() === 向下取整,函数返回一个小于或等于给定数字的最大整数。原创 2021-07-18 10:23:28 · 470 阅读 · 0 评论 -
JavaScript 使用闭包实现每隔一秒打印 1,2,3,4
// 使用闭包实现 for (var i = 0; i < 5; i++) { (function(i) { setTimeout(function() { console.log(i); }, i * 1000); })(i);} // 使用 let 块级作用域 for (let i = 0; i < 5; i++) { setTimeout(function() { console.log(i); }, .原创 2021-07-18 10:20:06 · 1123 阅读 · 1 评论 -
说几条写 JavaScript 的基本规范?
在平常项目开发中,我们遵守一些这样的基本规范,比如说: (1)一个函数作用域中所有的变量声明应该尽量提到函数首部,用一个 var 声明,不允许出 现两个连续的 var 声明,声明时如果变量没有值,应该给该变量赋值对应类型的初始值,便于 他人阅读代码时,能够一目了然的知道变量对应的类型值。 (2)代码中出现地址、时间等字符串时需要使用常量代替。 (3)在进行比较的时候吧,尽量使用'===', '!=='代替'==', '!='。 (4)不要在内置对象的原型上添加方法,如 Array..原创 2021-06-27 16:16:15 · 453 阅读 · 0 评论 -
null 和 undefined 的区别?
首先 Undefined 和 Null 都是基本数据类型,这两个基本数据类型分别都只有一个值, 就是 undefined 和 null。undefined 代表的含义是未定义,null 代表的含义是空对象。一 般变量声明了但还没有定义的时候会返回 undefined,null 主要用于赋值给一些可能会返回对 象的变量,作为初始化。当我们对两种类型使用 typeof 进行判断的时候,Null 类型化会返回 “object”,这是一个历史遗留的问题。当我们使用双等号对两种类型的值进行比较时会返回..原创 2021-06-27 16:08:18 · 718 阅读 · 0 评论