摘要:
前言 在最近业务开发中, 作者偶遇到了一个与 JavaScript 浮点数相关的 Bug。 这里就简单描述下背景: 在提现相关业务时, 会将展示给用户以元为单位的数值转化为以分为单位的数值。 例如, 0.57元 转化为 57 分。 转化方法很简单 // 小程序代码 onInput: 监听Input事 阅读全文
摘要:
在我们的日常前端开发中,使用最频繁的莫过于使用console.log在浏览器的控制台中打印出我们需要调试的信息,但是大部分人可能跟之前的我一样,没有意识到其实console除了log方法以外,还有很多实用的方法,这些方法可以使我们的调试过程更加容易,也表达得更加直观,更加丰富多彩,下面我们就来看看有 阅读全文
摘要:
在JS中,slice()、substring()、substr()都有截取字符串的作用,那他们有哪些用法上的区别呢? 一、substring() substring()方法返回一个索引和另一个索引之间的字符串,语法如下: str.substring(indexStart, [indexEnd]) 下 阅读全文
摘要:
let和const 一、块级作用域 ES5 只有全局作用域和函数作用域,没有块级作用域,这样的缺点是:1.用来计数的循环变量泄露为全局变量。2.内层变量可能会覆盖外层变量 var tmp = new Date(); function f() { console.log(tmp); if (false 阅读全文
摘要:
我们都知道,alert这种内置弹框会阻塞后续代码执行: 之所以如此,就是因为JavaScript代码在浏览器中是单线程执行的。换句话说,浏览器中只有一个主线程负责运行所有JavaScript代码(不考虑Web Worker)。 提到浏览器中的JavaScript,基本上只有三个来源: BOM API 阅读全文
摘要:
自定义事件很难派上用场? 为什么自定义事件很难派上用场,因为以前js不是模块化开发,也很少协作。因为事件本质是一种通信方式,是一种消息,只有存在多个对象,多个模块的情况下,才有可能需要用到事件进行通信。而现在有了模块化之后,已经可以使用自定义事件进行各模块间协作了。 哪里用得到自定义事件? 事件本质 阅读全文
摘要:
函数的三种定义方法分别是:函数定义语句、函数直接量表达式和Function()构造函数的方法。下面依次介绍这几种方法具体怎么实现。 1. 函数定义语句//求和函数function sum(a,b){ return a+b;}这是最典型的函数声明,以关键字function开始,其后跟随函数名称标识符、 阅读全文
摘要:
1、join() 通过join()方法可以实现重复字符串,只需传入字符串以及重复的次数,就能返回重复后的字符串,函数如下:function repeatString(str, n) {return new Array(n + 1).join(str);}console.log(repeatStrin 阅读全文
摘要:
选择排序的工作原理:在未排序的数列中,找出最大(最小)的一个与未排序最后一个(第一个)进行交换。如下图所示(ps图片来源于网络,如有侵权请联系删除): 第一次:找出最大值为9的元素,然后与最后一个交换位置.第二次:找出最大值为8的元素,然后与未排序的最后一个(整个数列的倒数第二个)进行交换.第三次: 阅读全文
摘要:
实现原理 数组中有 n 个数,比较每相邻两个数,如果前者大于后者,就把两个数交换位置;这样一来,第一轮就可以选出一个最大的数放在最后面;那么经过 n-1(数组的 length - 1) 轮,就完成了所有数的排序。 好的,我们先来实现找数组中的最大数,并把他放到数组最后。 var arr = [3,4 阅读全文