
js
顽石⚡
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Number精度超了怎么办
问题:一串很长的数字想要加1,发下精度超出了Number思路:使用BigInt例子:let s = '-4627396856207306510'let s2 = BigInt(s) + 1n原创 2022-03-16 16:36:29 · 434 阅读 · 0 评论 -
Object.assign()是深拷贝还是浅拷贝?
Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。Object.assign()拷贝的是属性值。假如源对象的属性值是一个对象的引用,那么它也只指向那个引用。也就是说,如果对象的属性值为简单类型(如string, number),通过Object.assign({},srcObj);得到的新对象为深拷贝;如果属性值为对象或其它引用类型,那对于这个对象而言其实是浅拷贝的。...原创 2021-09-09 11:57:24 · 767 阅读 · 0 评论 -
jS 二进制运算取整
异或运算也可以用来取整。12.9 ^ 0 // 12使用二进制否运算取整~~12.9 // 12如果左移0位,取整,对于正数和负数都有效。12.9 << 0 // 12原创 2021-06-16 10:02:56 · 307 阅读 · 0 评论 -
js !!x
// 等同于Boolean(x)原创 2021-06-11 17:16:26 · 223 阅读 · 0 评论 -
typeof null
typeof null // "object"null的类型是object,这是由于历史原因造成的。1995年的 JavaScript 语言第一版,只设计了五种数据类型(对象、整数、浮点数、字符串和布尔值),没考虑null,只把它当作object的一种特殊值。后来null独立出来,作为一种单独的数据类型,为了兼容以前的代码,typeof null返回object就没法改变了。...原创 2021-04-14 14:44:21 · 737 阅读 · 0 评论 -
升级了nodejs,build的时候报错 Node.js 12.x
问题描述升级了nodejs,build的时候报错解决方法删了node_modules重新npm install原创 2020-06-19 11:29:53 · 970 阅读 · 0 评论 -
js 实现a标签的效果
openLink(circle) { let url = circle.Content.Link.Url var a = document.createElement('a'); a.setAttribute('href', url); a.setAttribute('target', '_blank'); a.setAttribute('id', 'js_a'); //防止反复添加 if (document.getEle.原创 2020-06-02 15:20:52 · 793 阅读 · 0 评论 -
emoji unicode码转string
emoji表情:原创 2019-03-07 09:24:40 · 1301 阅读 · 0 评论 -
JS 获取当前的时间戳 并转化为毫秒
// 毫秒的时间戳let time = new Date().getTime()// 转化为毫秒 要把小数点后面的数据干掉// 取整let ts= parseInt(time/1000) // 或者 向上取整,有小数就整数部分加1ts = Math.ceil(time/1000) // 或者 向下取整,丢弃小数部分ts = Math.floor(time/1000) // 或者 ...原创 2019-03-29 16:41:54 · 2646 阅读 · 0 评论 -
js json数组删除指定的元素
有如下格式的数据let friends = [{name:name,age:age},{name2:name2,age2:age2},...]想删除指定的{}let friends = [{name:name,age:age},{name2:name2,age2:age2},...]let friend = {name:name,age:age}let sf = JSON.string...原创 2019-04-10 10:58:15 · 567 阅读 · 0 评论 -
获取mp3的时长
前提:有mp3的urlJS代码 let audioElement = new Audio(url) audioElement.addEventListener('loadedmetadata', function (_event) { duration = audioElement.duration console.log(duration) }...原创 2019-07-25 19:13:02 · 654 阅读 · 0 评论 -
node-pre-gyp install --fallback-to-build
npm install sqlite3报错,用淘宝镜像下载npm install -g cnpm --registry=https://registry.npm.taobao.orgcnpm install sqlite3原创 2019-08-21 14:35:23 · 853 阅读 · 0 评论 -
js数组 重组、排序、拆分
// 重组 排序 拆分for (const key in conversList) { if (conversList.hasOwnProperty(key)) { const conversArry = conversList[key] console.log(conversArry) let newConversArry = [] // 重组 之前是500一组,现在全部打...原创 2019-09-11 16:54:34 · 450 阅读 · 0 评论 -
vue scroll 判断到底部
直接上js代码,把mycircle改成你自己参数 let sh = document.getElementById('mycircle').scrollHeight let st = document.getElementById('mycircle').scrollTop let ch = document.getElementById('mycircle').clientHeight ...原创 2019-03-06 14:43:42 · 1540 阅读 · 0 评论 -
vue 获取select的值
假设有如下的select (wechatsLogin 是一个数组,改成你自己的数据)<select id="cs" v-if="wechatsLogin.length>0" @change="changeWechat()"> <option :value="wechat.WeChatId" v-for="(wechat, index) in wecha原创 2019-02-20 15:35:10 · 6518 阅读 · 0 评论 -
vue 分页显示
老规矩,先说下我实现的思路我是用v-for遍历一个json数组,展示里面的数据因为数据太多,页面切换时会卡顿,所以要分页我这分页实现模式并不是用ajax,我是全部数据都已经获取到了,只是筛选一下要显示的数据先看下没有分页的代码&amp;amp;lt;template&amp;amp;gt; &amp;amp;lt;div class=&amp;quot;goodFriends scroll&amp;quot;原创 2019-01-16 18:37:18 · 1574 阅读 · 0 评论 -
vue 消息显示几秒后隐藏
template<template> <div id="anwser"> <form @submit.prevent="submit" novalidate="true"> <textarea name="" id="" cols="30" rows="10原创 2018-11-06 14:42:15 · 9123 阅读 · 0 评论 -
vue 点击时间触发父级事件
在@click=“addClass(index)” 加个stop@click.stop="addClass(index)"原创 2018-11-13 14:33:30 · 1089 阅读 · 0 评论 -
vue使用封装websocket
用electron-vue 做一个桌面项目需要用到websocket封装websocket,src_>api_>socket.jsvar websock = null// var globakCallback = nullvar serverPort = '7181' // webSocket连接端口function getWebIP () { var curIP ...原创 2018-12-06 16:00:14 · 4523 阅读 · 2 评论 -
vue 中使用ctrl+enter 提交表单
html核心代码 @keyup.ctrl.enter="submit" 在textarea中使用<div id="anwser"> <form @submit.prevent="submit" novalidate="true"> <textarea @keyup.ctrl.enter="su原创 2018-12-20 15:21:53 · 2201 阅读 · 2 评论 -
js获取当天0点的时间戳
function getDayTime () { let date = new Date() let times = date.getTime() let hour = date.getHours() let minute = date.getMinutes() let second = date.getSeconds() let dayTime = times - hou...原创 2018-12-26 15:19:20 · 3063 阅读 · 0 评论 -
js 等待一段时间后执行
setTimeout(() => { // 如果已经登陆 if (_this.isLogin) { // 如果选择记住密码 if (document.getElementById('rememberPassword').checked) { let userinfo = { username:...原创 2018-12-11 14:11:55 · 4442 阅读 · 0 评论 -
vue vuex watch改变scrollTop
想实现的效果是:同一个页面,加载不同的数据的时候,记住 并 跳到 之前的选中的元素computed: { scrollTop () { // 获取当前选中的元素的scrollTop,这里因为写在不同的template 所有通过store获取 // 要改成你自己的数据 return this.$store.getters.currentFriend.f...原创 2018-12-18 12:00:05 · 992 阅读 · 0 评论 -
vue使用dialog标签
效果点击图片,显示大图,点击大图,关闭dialog;不想写组件,查了下h5,发现dialog标签能实现我想要的效果注意dialog标签只有Chrome、Safari 6 支持;template <dialog class="dialog" :open="dialog" v-if="bigPicture[0]"> <img :src="bigPicture[0...原创 2018-12-29 14:11:20 · 1277 阅读 · 0 评论 -
js解析QQ表情和emoji表情
使用的是vue思路:前端接受到的消息(我是json格式),匹配出QQ表情和emoji匹配的格式见代码,需要注意的是emoji要先把数据通过escape转换成unicode之后再匹配匹配的结果都是数组,遍历数组,将匹配的内容替换为img,emoji replace后需要unescape一下v-for遍历之后,使用v-html展示内容,不能用v-text,不然选然后是字符串需要有qq_a...原创 2019-01-02 19:09:57 · 5473 阅读 · 1 评论 -
vue 日志显示上传文件的内容
html<label for="fileInput"> <i class="fa fa-folder-open-o" aria-hidden="true"></i></label><input v-show="false" type="file" id="file原创 2019-01-07 15:03:07 · 675 阅读 · 0 评论 -
vue input 清空file的值
html 核心代码 <input v-show="false" type="file" id="fileInput" ref="file" @change="openFile">js 核心代码this.$refs.file.value = ''原创 2019-01-07 15:17:36 · 3744 阅读 · 0 评论 -
vue 图片、视频 上传 回显 删除
先看下效果实现原理选择本地文件上传到服务器服务器返回的值(图片的url)保存到vuex遍历地址的集合css 实现, 主要要用到::before直接上代码上传的html &amp;lt;div&amp;gt; &amp;lt;label class=&quot;pointer&quot; for=&quot;picture&quot; v-if=&quot原创 2019-01-15 16:32:23 · 3417 阅读 · 0 评论 -
js 删除数组中的元素
假设数组let numbers =[1,2,3,4,5] 使用delete方法删除delete numbers[0]//结果是// numbers=[null,2,3,4,5]使用splice删除numbers.splice(0,1)//结果是//numbers=[2,3,4,5]原创 2018-10-26 15:47:11 · 177 阅读 · 0 评论