![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
best-toby
嘿嘿嘿
展开
-
canvas画布简单操作之一
缩放比例1. 绘画文字会出现模糊的现象,是因为没有缩放导致的问题。(简单概括为1->1的视图不会出现模糊,1->2 的视图就会出现模糊,现在就是要搞成同等比例的。) (function () { const c = document.createElement("canvas"), ctx = c.getContext("2d"), dpr = window.devicePixelRatio || 1, bsr = ctx原创 2020-08-20 19:05:00 · 278 阅读 · 0 评论 -
汉字转拼音
今日在网上看到了一个中文转拼音,我还以为需要调用第三方去实现的,后来发现只是使用了穷举法,策略模式。1. 先列出所有的拼音,然后给拼音添加对应的中文转义的代码。2. 然后循环上面穷举的对象,去搜索是否存在当前转义代码。如果存在,则返回当前的拼音。方法问题:1. 穷举的中文太多了,不好维护。2. 多音字不好操作,不知道选哪一个拼音。3. 速度慢。以下是源码:var pinyin = (function () { var Pinyin = function (ops) ..转载 2020-05-18 10:14:25 · 27221 阅读 · 0 评论 -
软键盘遮挡input和input失焦后不回滚的解决办法
对安卓手机和苹果手机两种不同的情况分析。安卓:部分安卓机聚焦的时候,软键盘会遮挡住input。原因:软键盘拉起的时候,页面的高度变小了。部分安卓机聚焦的input不会自动滚动到指定位置,所以我们可以监听当窗口改变时,让当前聚焦的元素滚动到指定位置(scrollIntoViewIfNeeded)。我们也可以对单个input的聚焦函数添加事件,但是那样子有一定的局限性。重复且啰嗦。i...原创 2020-03-05 16:51:24 · 510 阅读 · 0 评论 -
jq之良好的时间控件和省市区控件
时间选择插件省市区选择插件原创 2020-02-03 14:18:29 · 145 阅读 · 0 评论 -
vue.config.js配置
全局配置less文件,无需每个文件都导入less--------------------------------------------------------2020-01-08 后续更新---------------------------------------------------原创 2020-01-08 16:59:20 · 105 阅读 · 0 评论 -
图片添加水印问题
function transformFile(text = '', maxWidth = 600, maxHeight) { return function (file) { return new Promise(resolve => { const reader = new FileReader(); reader....原创 2019-12-24 15:17:23 · 217 阅读 · 0 评论 -
真解决办法,taro 事件阻止冒泡
首先看官网的解决办法:实践场景:页面底部flex布局,最右边存在“去结算”按钮,整个底部点击的时候要展开商品列表。实践结果:点击去结算的时候,展开了商品列表。判断结果:无效。解决办法:函数bind一下,就可以解决了。这里还是一样。总结一下:文档不一定正确。bind函数的作用只是改变了作用单位,那么可以猜想一下,两个e不一样。...原创 2019-10-25 14:44:48 · 2769 阅读 · 0 评论 -
export与export default 区别
持续更新简单来说,使用export导出的,如果导入需要使用{},且需要名字一一对应,export default 导出的,如果导入,不使用{},且名字可以不对应。联想:export 导出的是一个对象,使用的是es6解构方式使用。(实际上不是,必须要加{}才可以) export default 导出的只有一个值,所以名字可以随意。------------------...原创 2019-09-27 09:48:03 · 115 阅读 · 0 评论 -
mpvue 修改小程序路径
修改 build文件夹中webpack.base.conf.js文件第21行function getEntry(rootSrc) { var map = {}; glob.sync(rootSrc + '/pages/**/main.js') .forEach(file => { var key = relative(rootSrc, file)....原创 2019-09-16 18:00:25 · 436 阅读 · 0 评论 -
数组交叉
var field = ['color', 'size', 'type', 'type2', 'season']; var arr = [ {name: '颜色', value: ['red', 'green']}, {name: '尺码', value: ['L', 'M', 'XL']}, {name: '类型', value:...原创 2019-08-29 18:15:45 · 419 阅读 · 0 评论 -
tips
1. 正则表达式:如果想匹配 *等特殊字符,需要在*前面加"\"。如果是new 出来的正则 ,需要加两根"\"。new 出来的正则,第二个参数可以传字符传g/i。2. 自执行函数Object.assign()的时候,有一个变量需要进行转换,那么可以使用自执行函数。3. echarts中如果每一列的宽度不够的话,文字不显示。(ps:做荥阳数据报表出现的问题,2019年8月2...原创 2019-08-14 16:44:11 · 156 阅读 · 0 评论 -
js之数据污染与深度克隆
本次讲解写js之数据污染。什么叫污染,这个污染就是类似与生活中的污染一样,比如说抹布使用了以后就会脏脏的,这个就是污染。那么js中的数据如果使用了,数据发生了变化,那就是数据污染。js基本类型数据是不会存在数据污染的,只有引用类型会存在数据污染,比如说数组,对象。一个数组的数据污染例子:var arr = [1,2,3];var nArr = arr;nArr.push(4)...原创 2019-07-31 16:31:57 · 1553 阅读 · 0 评论 -
微信关闭页面分享及其余功能
插入一段代码就好$(function () { function onBridgeReady() { WeixinJSBridge.call('hideOptionMenu'); } if (typeof WeixinJSBridge == "undefined") { if (document.addEventListener) { ...原创 2019-07-31 15:39:20 · 1583 阅读 · 0 评论 -
深度克隆
深度克隆 是指对象/数组的拷贝,因为js分原始值和引用值,对象/数组/函数 就是引用值,复制的是指针。原创 2019-06-26 12:01:32 · 112 阅读 · 0 评论 -
DOM文档对象模型
DOM1.文档对象模型 整个文档是由一系列节点对象组成的一棵树节点(node):包括元素节点(1),属性节点(2)和文本节点(3) 元素节点:var th = document.getElementById("th1");alert(th.nodeType);alert(th.nodeName);alert(th.nodeValue);Th代表了一个元素节原创 2017-08-10 20:15:26 · 230 阅读 · 0 评论 -
BOM浏览器对象模型
BOMBrowser object model的缩写,浏览器对象模型1.常用对象Window窗口,浏览器的窗口定义的全局变量和全局函数都是使用window方法全局变量是window的属性,可以直接访问window.a。浏览器的宽度:window.innerWidth浏览器的高度:window.innerHeight常用的方法:Open()打开一个新的窗口,需要三原创 2017-08-10 20:20:17 · 233 阅读 · 0 评论 -
事件的注册
事件的注册事件一共有三种注册方法:(1)使用onXXX属性,比如onclick="fun()"(2)通过js去设置元素的onXXX属性(3)通过addEventListener注册案例: var a = document.getElementById("div"); //第一种 function focus1(){ a.sty原创 2017-08-08 21:20:51 · 214 阅读 · 0 评论 -
常用事件
常用事件1.鼠标事件(1)鼠标单击事件(onclick)案例:鼠标单击文字会发生改变单击事件测试 function fun(){ //获取到指定元素 var p1 = document.getElementById("p1"); p1.innerText = "我被单击了!"; p1.style.原创 2017-08-08 20:48:42 · 222 阅读 · 0 评论 -
canvas 的createRadialGradient动画
<canvas id="myCanvas" width="300" height="300" style="border:1px solid #d3d3d3;">您的浏览器不支持 HTML5 canvas 标签。</canvas><script>var c=document.getElementById("myCanvas&qu原创 2018-04-28 09:17:01 · 780 阅读 · 0 评论 -
写代码
1. script 写在head里面 不会加载之后跳转写在 body里面的话 会发现有一个一闪而过的页面2. 公告滚动,可以使用marginTop 但是看着比较僵硬 所以使用 animate 把滚动的时间的每次滚动间隔调大一点 看着就不会很僵硬了还有一种思路 是两个复制,然后scrollTo 慢慢滚动。看着很好看 ...原创 2018-12-07 18:27:45 · 108 阅读 · 0 评论 -
移动端兼容性
1. 移动端 部分安卓手机不支持 scrollTo();2. 部分安卓机 使用滚动的时候 加5点高度var that = this; const box = document.getElementById("box"); // 滚动条到底部 box.onscroll = function() { var scrollTop = box....原创 2018-12-03 18:43:00 · 160 阅读 · 0 评论 -
vue oss 上传图片
今天 有人问阿里云的上传图片的问题。我就去查看了下,阿里云的上传分为表单上传,普通上传,点断上传(分片上传)。这次主要是使用普通上传,来做上传一个图片功能。第一步:你的有阿里云账号,然后开辟存储空间,拥有一个区域,然后得有一个包名,当然还得有accessKeyId和accessKeySecret(id和秘钥)。第二步:我这项目是使用vue写的。所以我使用npm install al...原创 2019-03-20 21:12:48 · 2374 阅读 · 5 评论 -
如何判断对象,数组,日期,文件,函数
1. 使用typeof判断返回的都是Object,所以要找找别的方法2. 使用instanceof 判断val instanceof Array3. 使用call、apply、bind判断Object.prototype.toString.call(val)Object.prototype.toString.apply(val)Object.prototype.toStri...原创 2019-03-21 00:12:31 · 115 阅读 · 0 评论 -
数组的方法
最近一直在寻找关于数组的操作最优解发现了好多数组方法indexOf : 查找某一个元素,返回下标,一般是查找数组元素lastIndexOf : 从后面开始查找元素,返回下标。用法同上includes : 查找某一个元素,返回true/false,用法同indexOf,这个可以差NaN。push : 从后面插入,返回数组的长度,无...原创 2019-06-04 16:40:47 · 128 阅读 · 0 评论 -
对象
对象1. 对象 object生活中一切事物皆对象。当然这个对象不是指女朋友,也不是指男朋友。这个对象很抽象,只要有属性的都可以称为对象。不过只要是东西,都有属性。举个例子:比如说我是一个对象。我有一些属性:名字,性别,体重,年龄,,,等一大堆属性。 再比如说,一个狗。它有名字,品种,性别,颜色,,,,等属性。2. 定义一个对象就使用上面的第二个例子我们有两种定原创 2017-07-25 16:40:48 · 333 阅读 · 0 评论