随笔分类 - js
vue 移动端/PC常见问题及解决方法
摘要:一、判断手机/PC浏览器语言 语言代码文档: http://www.lingoes.cn/zh/translator/langcode.htm 二、获取滚动条位置 // html结构 // methods中声明方法 三、回到顶部 // html结构 // 周期及方法 四、弹出层遮罩滑动穿透 1、通过
阅读全文
AWS S3 上传文件
摘要:一、获取签名的URL 通过后端给的接口拿到已经签名好的文件上传的URL地址 二、读取文件(注:AWS 接受的二进制,不能使用form-data) 要在onload中去执行后续操作,reader.result返回文件的二进制 三、提供接口所需要的header参数以及文件参数 2、使用base64将二进
阅读全文
趣题记录
摘要:下面代码中 a 在什么情况下会打印 1? 方法一、使用toString() 方法二、利用 valueOf() 方法三、利用数组的 join 和 shift 方法四、ES6的Symbol 方法五、Object.defineProperty 转载地址
阅读全文
Shadow DOM及自定义标签
摘要:参考链接:点我 一、什么是Shadow DOM Shadow DOM,直接翻译的话就是 影子 DOM,可以理解为潜藏在 DOM 结构中并且我们无法直接控制操纵的 DOM 结构。类似于下面这种结构 Shadow DOM 可以在浏览器中生成一个独立于DOM树之外的 DOM结构 二、Shadow DOM的
阅读全文
JavaScript 对象部署 Iterator 接口
摘要:方式一、Object.keys 方法二、Object.keys + Generator 注:generator函数中不能使用箭头函数 例:
阅读全文
使用JavaScript实现单向链表
摘要:一、实现功能 1、链表元素头部插入 this.unShift = function(data) {} 2、链表元素尾部插入 this.append= function(data) {} //返回boolean 3、链表元素按位置插入 this.insert= function(position, d
阅读全文
JavaScript数据类型判断
摘要:原理:利用JavaScript原生原型扩展函数Object.prototype.toString.call 封装: 调用:Type.Is[ 数据类型名称 ]( 需要被判断数据 ) 数据类型:'String', 'Object', 'Number', 'Array','Undefined', 'Fun
阅读全文
react使用create-react-app创建的项目部署
摘要:一、在所有的项目代码编写完成后,react项目直接部署是无法正常访问的 1、问题一 网页无法正常的浏览器刷新,刷新会报404错,路由找不到页面 2、问题二 路由跳转后,浏览器后退按钮点击后,页面不刷新 3、问题三 使用HashRouter的react项目会在路由的时候在路径上添加/#,所以尽量使用B
阅读全文
JavaScript变量
摘要:一、命名 (一)、方法 1、匈牙利命名法:变量名=类型+对象描述 Int 整型:i,Float 浮点:fl,Boolean 布尔:b,String 字符串:s,Array 数组:a,Object 对象:o,Function 函数 :fn,Regular Expression 正则:re 2、驼峰命名
阅读全文
牛客网字符串排序编程题
摘要:一、题目描述 编写一个程序,将输入字符串中的字符按如下规则排序(一个测试用例可能包含多组数据,请注意处理)。 规则 1 :英文字母从 A 到 Z 排列,不区分大小写。 如,输入: Type 输出: epTy 规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。 如,输入: BabA 输出
阅读全文
日常问题处理(四)
摘要:一、时间戳转yyyy-mm-dd HH:MM:SS日期类型 1、获取时间戳 2、时间戳转特定格式 (1)// xxxx/xx/xx (上午/下午)xx:xx new Date(parseInt(timeStamp)).toLocaleString().replace(/:\d{1,2}$/, ' '
阅读全文
js对象属性名驼峰式转下划线
摘要:一、题目示例: 思路: 1、匹配属性名字符串中的大写字母和数字 2、通过匹配后的lastIndex属性获取匹配到的大写字母和数字的位置 3、判断大写字母的位置是否为首位置以及lastIndex是否为0,为0则表示匹配结束 4、将存放位置的数组进行从小到大排序,排序后将属性名按照字符串的slice方法
阅读全文
js阻止表单默认提交、刷新页面
摘要:一、阻止刷新页面 在表单中的提交按钮<button></button>标签改为<input type="button">或者在<button>中添加属性 type="button" 二、阻止表单的默认提交 1、使用preventDefault() 2、使用return false;
阅读全文
jQuery-form实现文件分步上传
摘要:分步上传:当你需要提交两个及以上的文件,在一个文件成功后再提交另一个文件,并且最后需要提交所有文件的地址组成的数据 HTML: JS:在点击提交后,执行文件的提交并阻止默认提交,提交成功后或者第一个文件为空时,使用$(element).trigger('click')触发另一个表单的点击(提交)事件
阅读全文
前端开发常用总结
摘要:一、NodeJS 环境为基础 1、NodeJS热部署工具supervisor 安装:npm install --save-dev supervisor 使用:supervisor start.js 2、快速创建node express项目 安装:npm install -g express-gene
阅读全文
发布自己的npm包、开源项目
摘要:背景:由于最近在做项目之余想做一些其他的事,所以东找找西找找的,最后决定写一个封装一些常用原型方法的NPM包,但不仅限于此。话不多说,说一下实践过程。 一、注册NPM及如何上传NPM包参考连接:https://blog.csdn.net/Her_smile/article/details/80519
阅读全文
前端JS常见面试题(代码自撸)
摘要:题目一示例: 适用于子数组等长度及不等长度。 题目二示例: 注:传参应试用字符串形式,而不是使用es6模板,使用es6模板传参,浏览器会自动解析替换相应变量 例:var s = render("${year}-${mouth}-${day}") 题目三示例:
阅读全文
JavaScript数组去重方法总结
摘要:一、双重遍历去重 二、原数组下标indexOf去重 三、新数组indexOf去重 四、es6 Set去重 五、for...of + Object利用对象的属性不会重复这一特性,校验数组元素是否重复 参考(引用)链接:https://www.cnblogs.com/wisewrong/archive/
阅读全文