![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Javascript
文章平均质量分 52
前无止境CSND
这个作者很懒,什么都没留下…
展开
-
JS中find(), findIndex(), filter(), forEach(), some(), every(), map(), reduce()方法记录
1. find()与findIndex()find()方法,用于找出第一个符合条件的数组成员。它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined。[1, 2, 5, -1, 9].find((n) => n < 0)//找出数组中第一个小于 0 的成员// -1find()方法的回调函数可以接受三个参数,依次为当前的值、当前的位置和原数组。findIndex()方法的用法与f转载 2020-07-01 16:28:03 · 193 阅读 · 0 评论 -
几个异步操作,全部执行完后再执行回调函数
方法一:通常的讲,我们可以设置一个flag变量,然后在各自的ajax的成功回调内去维护这个变量数量,当满足条件时,我们来触发后续函数let flag = 0;// ajax为异步操作,结合Promise使⽤可以轻松实现异步操作队列function ajax1(num) { return new Promise(resolve => { setTimeout(() => { flag++; console.log('第1个异步请求'+flag); // 输出处理结果原创 2020-05-30 13:33:39 · 3164 阅读 · 0 评论 -
filter,forEach,some用法
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Doc原创 2020-05-16 19:08:13 · 200 阅读 · 0 评论 -
JavaScript中的迭代方法
every():对数组中的每一项运行给定的函数。如果该函数对每一项都返回true,则返回true。filter():对数组中的每一项运行给定的函数,返回该函数会返回true的项组成的数组。forEach():对数组中的每一项运行给定的函数。该方法没有返回值。map():对数组中的每一项运行给定的函数,返回每次函数调用的结果组成的数组。some():对数组中的每一项运行给定的函数,如果该函数...原创 2019-12-16 14:24:44 · 89 阅读 · 0 评论 -
检测客户端是否禁用cookie
通过JavaScript的navigator对象的cookieEnabled属性。navigator.cookieEnabled会返回一个布尔值。如果浏览器支持Cookie,就会返回true,否则返回false。var res = "浏览器是否支持Cookie?" + navigator.cookieEnabled;console.log(res);...原创 2019-12-16 10:31:59 · 318 阅读 · 0 评论 -
JS头部注释规范
常用参数:@param @argument 指定参数名和说明来描述一个函数参数@returns 描述函数的返回值@author 指示代码的作者@deprecated 指示一个函数已经废弃,而且在将来的代码版本中将彻底删除。要避免使用这段代码@see 创建一个HTML链接,指向指定类的描述@version 指定发布版本@requires 创建一个HTML链接,指向这个类所需的指定类@...原创 2019-12-12 09:48:58 · 1968 阅读 · 0 评论 -
前端常用rule校验规则
// 1、是否合法IP地址export function validateIP(rule, value,callback) { if(value==''||value==undefined||value==null){ callback(); }else { const reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|...原创 2019-11-15 14:44:58 · 3045 阅读 · 0 评论 -
Javascript事件循环Event Loop详解
所有同步任务都在主线程上执行,形成一个执行栈(execution context stack)。主线程之外,还存在一个“任务队列”(task queue),只要异步任务有了运行结果,就在“任务队列”中放置一个事件。一旦“执行栈”中的所有同步任务执行完毕,系统就会读取“任务队列”,看看里边有哪些事件。哪些对应的异步任务,于是结束等待状态,进入“执行栈”开始执行。主线程不断重复上边的第三...原创 2019-10-14 17:04:10 · 153 阅读 · 0 评论 -
JS面试题小汇
1、前端跨域问题同源策略(协议http + 子域名www.或b2c. + 主域名lanmeiairlines.com + 端口号 要相同)跨域并不是请求发不出去,请求能发出去,服务端能收到请求并正常返回结果,只是结果被浏览器拦截了。但是有三个标签是允许跨域加载资源:<imgsrc=XXX><linkhref=XXX><scriptsrc=XXX>1...原创 2019-10-11 11:22:26 · 181 阅读 · 0 评论 -
深拷贝和浅拷贝的区别
如何区分深拷贝与浅拷贝,简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,如果B没变,那就是深拷贝。1、浅拷贝举个例子:let a=[0,1,2,3,4], b=a;console.log(a===b);a[0]=1;console.log(a,b);a和b的值同时改变。主要原因是:1、基本类型–名值存储在栈内存中;2...原创 2019-10-10 17:01:43 · 192 阅读 · 0 评论 -
如何将浮点数点左边的数每三位添加一个逗号,如1300000.22转化为『1,300,000.22』?
function commafy(num) { return num && num .toString() .replace(/(\d)(?=(\d{3})+\.)/g, function ($1, $2) { return $2 + ','; }); } console.log(com...原创 2019-09-29 17:14:35 · 556 阅读 · 0 评论 -
JS实用小技巧
1、判断小数是否相等function epsEqu(x,y) { return Math.abs(x - y) < Math.pow(2, -53);}// 举例0.1 + 0.2 === 0.3 // falseepsEuq(0.1 + 0.2, 0.3) // true用户输入的是十进制数字,计算机保存的是二进制数。所以计算结果会有偏差,所以我们不应该直接比较非整数...原创 2019-09-18 15:59:32 · 426 阅读 · 0 评论 -
三种条件选择判断 If, Switch, Map
三种条件选择判断 If, Switch, Map// 1、If的使用简单粗暴,容易理解。let selectType = 'dog';if (selectType === 'dog') { console.log('Wang!')} else if (selectType === 'cat') { console.log('Miao!')} else if (selectTyp...原创 2019-07-04 14:04:45 · 896 阅读 · 0 评论 -
如何优雅的编写javascript代码?
1、尽量别用“非”条件句// Bad:function isDOMNodeNotPresent(node) { // ...}if (!isDOMNodeNotPresent(node)) { // ...}// Good:function isDOMNodePresent(node) { // ...}if (isDOMNodePresent(node)) { ...原创 2019-06-28 13:30:53 · 141 阅读 · 0 评论 -
form表单的submit不重新刷新当前页面
如何实现表单提交后不重新刷新当前页面<form name='form' id='form' action='xxx.action' method='post'> <input type="submit" id="btnSubmit" name="btnSubmit" value="保存" /></form>当我点击保存提交FORM表单后,如何让当前页...原创 2019-06-24 16:38:55 · 6945 阅读 · 1 评论 -
拖拽drag时,mouseup与click事件冲突
解决方案:首先我们可以解决最简单的一种,就是不拖拽的情况下触发只是触发click。1、按照刚才的说法,mouseup事件后click必定会触发,但是如果没有发生拖拽,也就是没有触发mousemove事件,这种情况比较简单,我们可以用一个变量纪录是否触发mousemove,在mouseup的时候只触发发生拖拽的情况。2、还有一种比较复杂的情况,就是在发生了拖拽的情况下如何避免click的触发?...转载 2019-05-23 15:09:38 · 7973 阅读 · 0 评论