![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
目标达成
这个作者很懒,什么都没留下…
展开
-
格式化日期对象
1、将一个Date类型的数据格式化为字符串类型如:2022-05-09 00:00:00// 格式化日期对象:参数为Date对象function dateFormat(dateObj){ let fullYear = dateObj.getFullYear() let month = completionZero(dateObj.getMonth() + 1) let date = completionZero(dateObj.getDate()) let hours = compl原创 2022-05-09 09:54:14 · 694 阅读 · 0 评论 -
解决移动端scrollTo({behavior: “smooth“})滑动效果失效的问题
js自带的scrollTo方法可以设置动画,滚动的效果,代码在电脑上正常,但是在手机上的时候就没有smooth的滑动效果了,只能僵硬的跳到某个位置,类似scrollTop赋值的效果,这里从一个博客看到的一个解决办法,试了下确实可以,所以记录一下:首先安装这个插件:smoothscroll-polyfillnpm install smoothscroll-polyfill --save然后引入并在组件创建的时候调用下这个方法:比如mounted中import smoothscroll fr原创 2021-05-14 16:12:29 · 7225 阅读 · 1 评论 -
vue实现:聊天记录,下拉加载下一页数据,并让页面停留在原位置
需要实现一个类似微信聊天记录的功能,其中碰到一个问题:下拉加载下一页数据时,将请求到的数据放到原数组前面,这时候vue会自动重新渲染页面,页面会回到顶部,这并不是我要的效果。实现思路:1、首先,要实现让页面到某个位置,需要用到scrollTop属性;2、然后就需要计算scrollTop的值为多少,则滑动多少距离;3、计算滑动距离的思路:既然需要停留在当前位置的话,那么正常思考的话就是需要知道加载的这一页数据所占的高度,然后将scrollTop值设置为这个高度即可,但这里有个问题,即便每次加载原创 2021-05-14 15:43:37 · 7402 阅读 · 12 评论 -
在<pre>元素作为输入框时,选择表情插入到输入框并将光标定位到表情后面
现在以pre元素作为输入框(通过contenteditable属性将pre元素变为可编辑输入框)<pre contenteditable="true" @click="inputAreaClick" @input="inputAreaInput" @keydown="inputAreaKeyEnter"></pre>实现:比如我要下面这样的内容,那么页面显示如下图2:步骤:这里的代码是适用于我这里的场景的,有些多余的代码,但思路是这个思路1 监听输入框的点原创 2021-03-03 16:21:51 · 1017 阅读 · 1 评论 -
typeoff的一些简单了解(instance的比较)
一、运算结果首先,typeof运算符判断完之后会返回一个字符串形式的类型如:let type = typeof 10; //"number"二、返回类型然后,说一下typeof运算符返回的类型有哪些?以下六种(其实就是5种基础类型(缺少null,因为null归于'object')+‘function’)1 number 数字2 string 字符串3 object 对象,null的返回值是object4 boolean 布尔值5 function 函...原创 2020-06-15 15:52:24 · 557 阅读 · 0 评论 -
函数参数的默认值与解构赋值的默认值
参数默认值可以与解构赋值的默认值,结合起来使用。function foo({x, y = 5}) { //这里定义了一个函数,参数为一个{}对象,没有默认值,只有解构赋值参数的默认值 console.log(x, y);}foo({}) // undefined 5foo({x: 1}) // 1 5foo({x: 1, y: 2}) // 1 2foo() // TypeError: Cannot read property 'x' of undefined上面代码只使用了对象原创 2020-06-11 16:12:48 · 1429 阅读 · 1 评论 -
js小数相乘的问题
问题:2个小数相乘会出现精度问题,如下:解决办法:一、使用toFixed()方法上面使用了parseFloat()方法是有个好处,对于结果是整数的来说,会把小数点后面2位去掉二、网上还有提到另外一种方法,就是把值放大,先*100再/100,类似这种,不过这种的要根据小数点后的位数来变化,可能需要*1000/1000才对,也可能是更大,而且就算是这样,好像还是有些数据...原创 2019-10-30 14:26:05 · 2318 阅读 · 0 评论 -
JavaScript replace() 方法
定义和用法 replace(regexp/substr,replacement)方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。 regexp/substr:一个正则表达式 replacement:字符串,要替换的结果内容一、替换第一个匹配到的//一、替换第一个let str = '2019-09-01';str = ...原创 2019-09-20 14:45:09 · 1208 阅读 · 0 评论 -
关于android和ios系统中new Date()的格式问题
问题:格式如:new Date("2019-9-8").getTime();android:1567872000000ios:NaN("2019-09-08"这种也不可以)发现ios系统解析不了"-"这种格式的数据解决:将"-"改为"/"-------------------------------------------------------------------...原创 2019-09-19 17:48:34 · 1512 阅读 · 0 评论 -
访问Json对象的值
两种方式访问json对象的值 1 (.)的形式 2 ([])形式方式一.属性名 ——不要用"" 以下示例都在控制台执行: 例一、let json = {name:"Jack"};json.name;//"Jack"例二、json = {"name":"Jack"}json.name;//"Jack"方式二...原创 2019-07-18 11:25:18 · 1289 阅读 · 0 评论