
js
文章平均质量分 70
原声js
有蝉
文章有用的话,请点个赞啊
展开
-
JS数组对象排序
利用数组api ——> sort来进行排序var person = [{name:"Rom",age:12},{name:"Bob",age:22},{name:"Ma",age:5},{name:"Tony",age:25}]person.sort((a,b)=>{ return a.age-b.age})//升序person.sort((a,b)=>{ retu...原创 2019-03-19 10:15:40 · 43898 阅读 · 5 评论 -
ES6数组去重(一行代码实现数组去重)
1.ES6中新增了Set数据结构,类似于数组,但是它的成员都是唯一的,其构造函数可以接受一个数组作为参数,如:let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3]; let set = new Set(array); console.log(set); // => Set {1, 2, 3, 4, 5}2.ES6中Array新增了一个静...原创 2019-03-19 10:22:14 · 2074 阅读 · 0 评论 -
ES6数组以及数组对象实现并集、交集、差集
数组let a = new Set([1, 2, 3]);let b = new Set([4, 3, 2]);// 并集let union = new Set([...a, ...b]);// Set {1, 2, 3, 4}// 交集let intersect = new Set([...a].filter(x => b.has(x)));// set {2, ...原创 2019-03-19 10:26:38 · 2208 阅读 · 0 评论 -
理解 ES6 — forEach/map/reduce/filter/every/some
1 forEach (让数组中的每一项都做一件事)如果不做特殊处理,一般情况下,不会break的。如果需要中途跳出循环,建议直接用for语句好了。let arr = [1,2,3,4,5];arr.forEach((item,index)=> { console.log(item);})// 1,2,3,4,52 map (让数组通过某种计算产生一个新数组)...原创 2019-03-19 10:52:38 · 727 阅读 · 0 评论 -
ES6 利用reduce(数组/数组对象)去重
let log = console.log.bind(console);let person = [ {id: 0, name: "小明"}, {id: 1, name: "小张"}, {id: 2, name: "小李"}, {id: 3, name: "小孙"}, {id: 1, name: "小周"}, {id: 2, name...原创 2019-03-19 10:57:56 · 3660 阅读 · 0 评论 -
8个数字的字符串(20191001)转为日期格式(2019-10-01);将yyyy-mm-dd格式转换为年月日格式 ;将年月日格式转换为yyyy-mm-dd格式
[推荐插件( moment.js)moment.js的使用]8个数字的字符串(20191001)转为日期格式(2019-10-01);//将8个数字的字符串转换为yyyy-mm-dd格式 function chDate0date(str){ return str.replace(/(\d{4})(\d{2})(\d{2})/g,'$1-$2-$3'); };将...原创 2019-03-19 14:43:06 · 8011 阅读 · 1 评论 -
await 后面跟的对象 (await最主要的意图是用来等待 Promise 对象的状态被 resolved)
await 后面可以跟任何的JS 表达式。虽然说 await 可以等很多类型的东西,但是它最主要的意图是用来等待 Promise 对象的状态被 resolved。如果await后面是 promise对象会造成异步函数停止执行并且等待promise 的解决,如果await后面是 正常的表达式则立即执行。1.后面跟Promise对象function sleep...原创 2019-03-21 11:19:44 · 8468 阅读 · 1 评论 -
跨域:是什么 为什么 怎么做
一、什么是跨域我们先回顾一下域名地址的组成:http:// www . google : 8080 / script/jquery.jshttp:// 协议号 www 子域名 google 主域名 8080 端口号 script/jquery.js 请求的地址 * 当协议、子域名、主域名、端口号中任意一各不相同时,都算不同的“域”。...原创 2019-03-25 10:24:53 · 251 阅读 · 0 评论 -
JavaScript获取月份最后一天(能不写算法就不写算法)
JavaScript中,new Date([params])函数,可以使用传入的参数形式,获取某一月的最后一天,并且自动判断润平年和大小月;new Date('2019','04',0).getDate() //30原创 2019-04-09 14:57:23 · 320 阅读 · 0 评论 -
js根据一年中的周(一年中的第几周),来获取周的日期范围(根据一年的第N周,来获取第N周的日期范围)
Date.prototype.Format = function(fmt){ //需要JS格式化时间,后期做的时候方便使用 var o = { "M+" : this.getMonth()+1, //月份 "d+" : this.getDate(), //日 "h+" : t...原创 2019-04-09 15:05:39 · 6460 阅读 · 3 评论 -
js获取某年某月某天是一年中的第几周
/** *获取某年某月某天是第几周 *第一天为周日 */function getWeekNumber(y, m, d) { var targetDay = newDate(y, m - 1, d); var year = targetDay.getFullYear(); var month = targetDay.getMonth(); var days ...原创 2019-04-09 15:11:46 · 2939 阅读 · 0 评论 -
js实现获取当前时间是本月第几周和年的第几周的方法
获取本月第几周function getMonthWeek(a, b, c) { /** * a = d = 当前日期 * b = 6 - w = 当前周的还有几天过完(不算今天) * a + b 的和在除以7 就是当天是当前月份的第几周 */ var date = new Date(a, ...原创 2019-04-09 15:23:10 · 10385 阅读 · 3 评论 -
vue中使用moment.js(时间格式化插件)
安装moment.jsnpm install moment --save全局过滤器main.js中import moment from 'moment'//定义一个全局过滤器实现日期格式化Vue.filter('datrfmt',function (input,fmtstring) {//当input为时间戳时,需转为Number类型 // 使用momentjs这个日期...原创 2019-04-11 10:30:56 · 18887 阅读 · 2 评论 -
moment.js如何使用(强大的日期和时间管理插件)
moment.js中文官网使用moment.js创建时间moment() // 当前时间moment("2019-01-01")//将字符串转为一个对象moment({ year :2019, month :4, day :13, hour :15, minute :10, second :3, millisecond :123})使用moment.js格式化日期根据需要随...原创 2019-04-13 17:22:02 · 4262 阅读 · 0 评论 -
文字滚动效果
需要引入jQueryHTML<!doctype html><html><head><meta charset="utf-8"> <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, ma...原创 2019-04-28 10:03:11 · 230 阅读 · 0 评论 -
elementUI搜索条件样式以及vue+element纯前端实现搜索功能【数据量少】
效果图:HTML <!-- 搜索框 --> <div class="seach-container"> <div class="flex flex-wrap justify-between"> <!-- 项目 --> <div classs="form-container"&...原创 2019-04-28 11:07:04 · 7992 阅读 · 2 评论 -
smart_screen.js
//浏览器判断function getBrowserInfo(){ var ua = navigator.userAgent.toLocaleLowerCase(); var browserType=null; if (ua.match(/msie/) != null || ua.match(/trident/) != null) { browserTy...原创 2019-04-28 15:05:39 · 510 阅读 · 0 评论 -
大屏框架 等比缩放的页面(利用css3的scale属性)
HTML<!DOCTYPE html><html lang="en"><head> <!-- 编码设置 --> <meta charset="utf-8"> <!-- 告诉IE使用最新的引擎渲染页面 --> <meta http-equiv="X-UA-Compatible" ...原创 2019-04-28 15:11:39 · 9124 阅读 · 1 评论 -
正则表达式匹配所有数字,包括带小数点的数字 包含限制小数位数、整数位数
let reg = /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g;原创 2019-05-06 12:02:41 · 54996 阅读 · 4 评论 -
在js中为对象添加和删除属性
对于一个普通的js对象:var obj = { "name": "tom", "age":25}如果我们要对它添加新属性的话可以使用下列方式:obj.address="beijing"//添加地址obj.girlfriend = "marry"//添加女朋友控制台输出如下删除属性的 话需要使用delete方法:delete obj.addr...原创 2019-05-07 09:06:43 · 9735 阅读 · 1 评论 -
moment.js 获取某年某月的最后一天 以及 获取某年最后一天
moment.js获取某年某月的最后一天moment(日期).endOf('month').format("YYYY-MM-DD")//日期可以是 年月的格式 也可以是年月日的格式moment.js获取某年的最后一天moment(日期).endOf('year').format("YYYY-MM-DD")//日期可以是年的格式 或者 年月的格式 也可以是年月日的格式...原创 2019-05-07 09:29:14 · 20816 阅读 · 2 评论 -
理解jquery的$.extend()、$.fn和$.fn.extend()
jQuery为开发插件提拱了两个方法,分别是:·jQuery.fn.extend();jQuery.extend();jQuery.fnjQuery.fn = jQuery.prototype = { init: function( selector, context ) {//….//……};原来 jQuery.fn = jQuery.prototype ...原创 2019-05-08 09:23:58 · 735 阅读 · 0 评论 -
es6 Promise详解
复杂的概念先不讲,我们先简单粗暴地把Promise用一下,有个直观感受。那么第一个问题来了,Promise是什么玩意呢?是一个类?对象?数组?函数?这么一看就明白了,Promise是一个构造函数,自己身上有all、reject、resolve这几个眼熟的方法,原型上有then、catch等同样很眼熟的方法。这么说用Promise new出来的对象肯定就有then、catch方法喽,没错。...转载 2019-05-08 10:09:57 · 308 阅读 · 0 评论 -
echart横坐标太长导致坐标显示不完全(三种方法)
解决办法(两种方法)①在xAxis中加入=> axisLabel :{interval:0} xAxis: [ { type: "category", boundaryGap: false, axisLine: { show: true, ...原创 2019-05-15 10:30:25 · 28148 阅读 · 2 评论 -
根据数组对象某一元素的id,找到此元素在数组所在的位置(findIndex)
var listData = [ {id:"1234",name:"bob"}, {id:"2451",name:"mary"}, {id:"6666",name:"tom"}, {id:"5675",name:"jerry"}, {id:"8421",name:"ken"},]let index = listData.findIndex( item...原创 2019-05-17 18:24:01 · 14986 阅读 · 0 评论 -
判断正整数的正则表达式
正数的正则表达式(包括0,小数保留两位):^((0{1}\.\d+)|([1-9]\d*\.{1}\d+)|([1-9]+\d*)|0)$正数的正则表达式(不包括0,小数保留两位):^((0{1}\.\d+)|([1-9]\d*\.{1}\d+)|([1-9]+\d*))$正整数的正则表达式(包括0):^[+]{0,1}(\d+)$正整数的正则表达式(不包括0)...原创 2019-05-23 16:50:31 · 3796 阅读 · 0 评论 -
vue中使用文件流进行下载(new Blob)
封装方法function getExel(url, params, index) {+ return new Promise(function(resolve, reject) { let data = { method: "GET", url:url, headers: { 'token': gettoken("token"...原创 2019-06-03 10:39:47 · 52196 阅读 · 5 评论 -
js获取当前月有几周(附带一个小组件)
要求①出一个日历组件②只显示当前月份③点击日期和右边列表联动,④当前天有预警时,日历出现小红点按照我的思路来看必须要求当前月有几周啊,代码如下 //获取当前月有几周 百度的别人的代码 但是它从第一个周一开始算该月第一周,所以下面有处理 getWeeks(year, month) { var d = new Date(); /...原创 2019-06-03 14:40:27 · 3296 阅读 · 0 评论 -
js 数组详解(一):什么是数组
一.***数组: 什么是: 内存中连续存储多个数据的一块存储空间 vs 变量: 内存中存储一个数据的存储空间 为什么: ***程序=数据结构+算法 算法: 解决问题的步骤 数据结构: 数据在内存中的存储结构 好的数据结构可以极大提高程序的执行效率 何时: 今后,...原创 2019-06-06 12:39:26 · 1574 阅读 · 0 评论 -
js数组详解(二):关联数组以及将数组转为字符串的API
1. 关联数组: 索引数组: 下标为数字的数组 问题: 每个元素,只有值,没有有意义的名称 解决: 关联数组: 可自定义下标名称的数组 如何: 创建: 2步: 1. 先创建空数组: var scores=[] 2. 在空数组中添加新元素,使用自定义的下标名 ...原创 2019-06-06 12:41:37 · 1945 阅读 · 0 评论 -
点击页面任何地方,将div隐藏,除了指定位置外 (原生js)
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <style> #test{ position: fixed; ...原创 2019-06-11 11:12:41 · 3479 阅读 · 0 评论 -
js数组详解(三):拼接、选取、修改、翻转API
1. 拼接和选取: 拼接: 将其它元素或其它数组拼接到当前数组末尾,返回新数组 var newArr=arr1.concat(值1,值2,arr2,......) 强调: 1. 无权修改原对象,只能返回新对象 2. 打散传入的数组参数——珍贵 选取: 复制原数组中指定位置的元素组成新数组 var subArr=arr1...原创 2019-06-13 09:32:43 · 810 阅读 · 0 评论 -
js数组详解(四):排序API
1. 排序: 自定义排序: 冒泡 排序API: arr.sort(); 大问题: 默认将所有元素转为字符串再按字符串排列 只能对字符串类型的元素正确排序 解决: 自定义比较规则: 比较器函数: 专门比较任意两值大小的函数: 要求: 两个参数: a,b ...原创 2019-06-13 09:35:33 · 1702 阅读 · 0 评论 -
js字符串详解(一):什么是字符串,内置对象以及包装类型对象
1. 什么是: 多个字符组成的只读字符数组 vs 数组: 下标i length slice() concat 不同: 数组中凡是直接修改原数组的API,字符串都不能用!2. 内置对象: ES标准中规定的,浏览器厂商已经实现的现成的对象和API 11个: Number String ...原创 2019-06-14 15:44:29 · 268 阅读 · 0 评论 -
js字符串详解(二):字符串API
所有字符串API都无权修改原字符串,只能返回新字符串!转换 1.大小写转换: 将字符串中所有英文字母转为统一的大小写 何时: 只要不区分大小写时,都要先转为一致的大小写,再判断。 比如: 用户名,邮箱地址,验证码 如何: str.toUpperCase() //都转大写 str.toLowerCase() //都转小写 2.得...原创 2019-06-14 15:59:19 · 1881 阅读 · 0 评论 -
js正则表达式详解(一):语法
什么是: 专门定义一类字符串统一规则的表达式 何时: 1. 按照指定规则模糊查找一类关键词时 2. 表单中验证输入项的格式 如何: 语法: 1. 最简单的正则其实就是关键词原文 2. 字符集: 规定字符串中一位字符可用的备选字符列表 何时: 只要某一位字符,有多个备选字时 如何: [备...原创 2019-06-14 16:13:41 · 849 阅读 · 0 评论 -
js正则表达式详解(二):RegExp的Api
验证: 检查字符串是否完全符合正则表达式的要求! 如何: var bool=reg.test(待检测字符串) 强调: 只要验证,reg中必须前加^后加$ 查找关键词: 第四种情况: 即找内容,又找位置 如何: var arr=reg.exec(待查找的完整字符串) 在"待查找的完整字符串"中,依...原创 2019-06-14 16:22:05 · 440 阅读 · 0 评论 -
js Math详解:包含取随机数的公式
什么是: 专门封装数学计算所用常量,并提供数学计算所用API 何时: 只要数学计算时 特点: 不能new! API: 1. 取整: Math.ceil(num) 上取整: 只要超过,就取下一个整数 Math.floor(num) 下取整: 省略小数部分 Math.round(num) 四舍五入取整: ...原创 2019-06-14 16:29:38 · 1867 阅读 · 0 评论 -
js Date详解:创建日期以及日期API
什么是: 封装一个时间,提供操作时间的API 何时: 只要存储时间,都要用Date对象 如何: 创建: 4种: 1. 创建日期对象,并自动获得当前客户端系统时间 var now=new Date(); 2. 创建日期对象,并封装自定义时间: var date=new Date("yyyy/MM/dd...原创 2019-06-14 16:33:19 · 6719 阅读 · 0 评论 -
作用域和作用域链详解
1. *****作用域和作用域链 作用域scope: 什么是: 一个变量的使用范围——使用 本质上作用域是一个对象——存储 作用域中的变量都是对象的成员 程序/函数的执行过程: 1. 开始执行程序前: 创建ECS(执行环境栈): ...原创 2019-06-14 16:36:20 · 1067 阅读 · 0 评论