
JavaScript
JavaScript
机智的导演
日行万步路,夜读十页书。
展开
-
JS快速获取当前时间减一小时、一天及日期格式处理
JS快速获取当前时间前一小时、前一天、前一个月;带有GTM日期的处理原创 2017-12-22 15:52:46 · 37768 阅读 · 0 评论 -
ES6 Class语法介绍
参考文章:ECMAScript 6 入门概述基本上,ES6 的class可以看作只是一个语法糖,它的绝大部分功/能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。举个栗子:// ES5function Point(x, y) { this.x = x; this.y = y;}Point.prototype.toStri...原创 2018-11-28 15:36:51 · 466 阅读 · 0 评论 -
JS读取上传文件内容
背景今天遇到这样一个需求:用户选择一个文件上传,需要读取到文件的内容并筛选出所需数据进行处理。解决 function readFile() { const objFile = document.getElementById('file_id') if(objFile.value === '') { alert('请选择文件!') return ...原创 2018-11-20 14:05:26 · 11220 阅读 · 0 评论 -
点击按钮复制表格功能实现
背景今天这样一个需求:点击按钮,一键复制表格中的内容,能直接粘贴到Excel中。开始查找到了使用clipboardData方法实现复制,可是发现在chrome浏览器下无效。解决 function copyTable() { const table = document.getElementById('table') const range = document.creat...原创 2018-11-20 13:57:14 · 2603 阅读 · 0 评论 -
JS中阿拉伯数字转中文数字
背景做学业评价项目的时候,后台返回的数字为阿拉伯数字,而页面上需要展示中文数字。解决 // 阿拉伯数字转中文 private numberConvertToUppercase (num: number): string { const upperNumbers: string[] = ['零', '一', '二', '三', '四', '五', '六', '七', '...原创 2018-08-28 17:22:21 · 2740 阅读 · 0 评论 -
[].forEach.call
曾看到过一行非常有意思的代码:[].forEach.call($$("*"),function(a){ a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16)})放到浏览器里执行之后,页面上的所有元素都会加上一个随机颜色的边框。 而这行代码的原理便是先选取页面上所有的元素,...原创 2018-07-19 15:25:33 · 816 阅读 · 0 评论 -
从Object.assign()到ES6对象到扩展
本文内容参考:ECMAScript 6 入门背景在上一个项目开发中,看到项目内存在很多Object.assign()写法的代码,由于之前没有接触过,感觉比较疑惑。通过网上查询发现,这是ES6对对象进行的扩展之一,于是系统的了解了一下ES6中对对象进行的扩展。学习属性的简洁表示法ES6 允许直接写入变量(变量需要存在)和函数,作为对象的属性和方法。let birth...原创 2018-07-23 18:26:50 · 964 阅读 · 0 评论 -
ES6中let、const的区别及变量的解构赋值
声明:本文内容依照阮一峰老师ECMAScript 6 入门一书所总结。let和const相同点 都存在块级作用域都不存在变量声明提升都会造成“暂时性死区”在一个作用域下不可重复声明不同点 const一旦声明必须立即赋值const声明的变量指向的内存地址不得改动。变量解构赋值数组的解构赋值解构成功let [a, b, c] = [1, 2,...原创 2018-06-14 15:28:51 · 278 阅读 · 0 评论 -
HTML5 contenteditable属性
背景今天在项目开发过程中通过接口拿到了第三方返回的dom节点,结果发现展示到页面上会出现编辑框,然后查看了代码发现该标签内添加了contenteditable = true属性,由于之前没有用到过这个属性,遂上网查了一下。学习定义:contenteditable属性规定是否可编辑元素的内容。语法:<element contenteditable="value">...原创 2018-06-12 13:18:22 · 1116 阅读 · 0 评论 -
map()、forEach()、reduce()、filter()的区别
map()map()方法按照原始数组元素顺序依次处理元素,返回一个新的数组,数组中的元素为原始数组调用函数处理后的值。可看作是对原数组进行映射。注意:map()方法不会对空数组进行检测。array.map(function(currentValue,index,arr), thisValue)//参数:当前元素、当前元素的索引、当前元素所属的数组var wallets = pe...原创 2018-05-23 19:56:15 · 1970 阅读 · 0 评论 -
ES6扩展运算符(...)
在使用vuex的过程中,经常会碰到以下写法:...mapGetters('user',['classList','class','subjectList','termList'])在不了解ES6的扩展运算符前,对这种写法很迷惑,不懂...的作用到底是什么,于是通过《ECMAScript 6 入门》一书,学习了扩展运算符的相关知识。数组的扩展运算符概念扩展运算符(spr...原创 2018-05-08 19:27:35 · 21918 阅读 · 1 评论 -
meta标签设置禁止加载缓存及延伸
背景今天在优化ADTS3.0项目的过程中遇到了ckplayer拉流异常的问题,问了同组其他小伙伴,说是需要禁用浏览器的缓存。 解决而在代码中开启这个功能就需要使用meta标签,具体的做法是:<meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" cont...原创 2018-03-27 16:34:05 · 1930 阅读 · 0 评论 -
ES6 Promise对象概念及用法介绍
参考文章:ECMAScript 6 入门一、 Promise是什么Promise是异步编程的一种解决方案,它是一个容器,里面保存着某个未来才会结束的事件的结果。它有三种状态,只有异步操作的结果才能决定当前的状态,不受外界因素的影响。而一旦状态改变,就不会再变,也就是状态凝固了(resolved),任何时候都可以得到这个结果。 Promise的缺点: 1. 无法取消Prom...原创 2018-03-31 15:58:46 · 352 阅读 · 0 评论 -
Virtual DOM原理详解
背景今天准备开始学习React,于是看到了React入门看这篇就够了一文。而在看到虚拟DOM的时候,让我联想到了Vue中的虚拟Dom,于是顺着链接点进去看了一下Virtual DOM的实现原理。Virtual DOM具体实现原理参考深度剖析:如何实现一个 Virtual DOM 算法一文,感觉写的非常棒,虽然有一些地方感觉还没能完全理解,但终究是对整个流程有了一个基本的了解。感慨今天学着...原创 2018-12-03 16:14:07 · 534 阅读 · 0 评论