JavaScript
研究原生JavaScript
喜欢吃青椒吗
这个作者很懒,什么都没留下…
展开
-
JSON.parse和JSON.stringify
问题提出在学习和工作中经常碰到一些这样的问题。明明已经从接口上拿到数据,用解构的方法去拿数据时却拿不到,出现undefined。这种问题是因为获取到的数据是JSON的格式,用解构的方法并不能获取到数据。比如res.aabb这种获取数据的方法只能基于JavaScript对象的形式来获取。JSON.parse把JSON格式的数据转化为JavaScript对象的形式。JSON.stringify功能恰恰相反。能把JavaScript对象转化为JSON的格式。JSON.parse(JSON.str.原创 2020-11-19 11:01:52 · 232 阅读 · 0 评论 -
toFixed()
数值.toFixed(2) 表示 保留小数点后两位。原创 2020-11-18 11:29:52 · 158 阅读 · 0 评论 -
常见的Date方法
var date=new Date('2016-01-10');var time=date.getTime()//返回该date对象对应的毫秒数,与valueOf返回的结果相同date.setTime(1);//以毫秒数设置日期,这常常会改变整个日期对象var year=date.getFullYear();//取得四位数的年份,如2016而非16date.setFullYear(2012);//设置年份,传入的参数必须是四位数字var month=date.getMonth();//返回该dat原创 2020-11-18 11:29:31 · 141 阅读 · 0 评论 -
利用模板字面量来动态写URL
let queryparams = `?type=${this.type}&page=${changeCurPage( this.curPage )}&pageSize=${this.pagesize}&queryVO=${encodeURIComponent( JSON.stringify(this.queryparam) )}`;getReq(URL.REPORT_SECURITY_REINFORCE + querypa原创 2020-10-30 10:46:27 · 78 阅读 · 0 评论 -
当get请求带参带的是对象怎么传
前端get请求有时候会带参给后端用来返回我们需要的值。这个参一般是字符串或者是number类型。但是如果是对象类型,前端应该怎么做?//这种传参是不对的,后端无法识别出来。http://localhost:8080/servlet/user?param={"accID":"milo","field":"nick_name,email"}//应该对路径进行转义,变成下面这种格式。queryVO为对象。http://nb-hz20130305.hikvision.com:81/dpm-report原创 2020-10-30 10:46:03 · 14741 阅读 · 3 评论 -
获取数组当中最大的数
使用 Math中的 max/min方法let arr = [22,13,6,55,30]; console.log(Math.min(...arr)); // 6console.log(Math.max(...arr)); // 55sort排序let arr = [12,56,25,5,82,51,22];arr.sort(function (a, b) { return a-b;}); // [5,12,22,25,51,56]let min = arr[0]; .原创 2020-10-30 10:44:19 · 196 阅读 · 0 评论 -
Object.keys()
返回一个由一个给定对象的自身可枚举属性组成的数组。主要作用于以下2个:对象。Object.keys(对象) 返回的是对象的属性名。var obj = {a:"1111",b:"2222",c:"33333"}Object.keys(obj)结果:["a","b","c"]字符串。返回的的index,索引。var obj = "abc123"Object.keys(obj)结果:[0,1,2,3,4,5]经典例子: var obj = { a: "1111",原创 2020-10-16 13:26:13 · 95 阅读 · 0 评论 -
判断是否有空格
问题提出:留言板输入框不能输入空格和空。//点击事件addMessage() { var regu = "^[ ]+$" var re = new RegExp(regu) if (this.input === "" || re.test(this.input) == true) { return false //有则return掉 this.input = "" //并清空输入框 } }// 判断 this.原创 2020-10-16 13:25:47 · 769 阅读 · 0 评论 -
前端实现页内搜索
这里要讲清楚,搜索的是什么?页内搜索并不是ctrl+ f 这种搜索,它搜索的范围肯定是从后端拿到数据渲染在前端的数据,比如表格,列表等等。这里以表格为例,要实现填入关键字,然后筛选出对应的表格,展示在页面上。<el-input placeholder="搜索" v-model="value"> <el-button slot="append" type="primary" icon="h-icon-search" @click="doSearch(value)"></原创 2020-10-16 13:24:37 · 624 阅读 · 0 评论 -
将中国标准时间格式转换为yy-mm-dd的格式
var s = new Date(1262275200000); //s获取到的是中国标准时间格式var startTime = s.getFullYear() + "-" + (s.getMonth() + 1) + "-" + s.getDate() + " " + s.getHours() + ":" + s.getMinutes() + ":" + s.getSec原创 2020-10-16 13:23:55 · 1828 阅读 · 0 评论 -
遍历并切割字符串
res[0].timeline.forEach(item =>{ var arr = item.time.split("-") that.option.xAxis[0].data.push(arr[1]) })解析:forEach遍历res[0].timeline数组。[{time:12-2,index:0}....] item替代数组的每一项。 item.time代表着每一项的time属性。 item.time.split("-")代原创 2020-10-16 13:23:37 · 383 阅读 · 0 评论 -
JavaScript识别浏览器种类
//放在App.vue中,可以一打开就检测<el-alert type="error" center :closable="true" v-show="!browser().hasOwnProperty('chrome')"> <span slot="title" simple> 检测到当前浏览器非chrome内核浏览器,为了您的使用体验和程序运行速度,请使用chrome内核进行操作! <a href="http://softdo原创 2020-10-16 13:22:38 · 233 阅读 · 0 评论 -
数组与字符串相互转换
数组转字符串//用toString方法[1,2,3].toString(); //"1,2,3"['1','2','3'].toString(); //"1,2,3"//用join()方法[1,2,3].join(); //"1,2,3"[1,2,3].join('-'); //"1-2-3"//多维数组亦转化为字符串[1,2,[3,4],[5,6,7,[8,9]]].toString(); //"1,2,3,4,5,6,7,8,9"[1,2,[3,4],[5,6,7,[8,9]].原创 2020-10-16 13:22:09 · 59 阅读 · 0 评论 -
sort()方法的妙用
按照字母顺序排序//注意,未带参数的sort()只能排序英文字符串['bbd','ba','zsdd','a'].sort(); //["a", "ba", "bbd", "zsdd"]升序排列['12','1211','323','50','1'].sort((a,b)=> {return a-b}) //["1", "12", "50", "323", "1211"]降序排列['12','1211','323','50','1'].sort((a,b)=> {re.转载 2020-10-16 13:21:45 · 101 阅读 · 0 评论 -
Math.random()的用法
Math.random()原本作用Math.random(); //返回介于 0(包含) ~ 1(不包含) 之间的一个随机数 0.843870140263191取随机整数Math.floor(Math.random() * 10 + 1):数组随机打乱[1,2,3,4,5,6].sort(() => Math.random() - 0.5);...原创 2020-10-16 13:20:30 · 356 阅读 · 0 评论 -
跳转到页内指定位置
利用<a>标签的锚点<h3 name="top">唐诗300首</h3><a href="#top">顶部</a>//点击顶部可以跳转到唐诗300首利用location.href<p id="ddd">底部</p><button onclick="gobuttom()">底部</button>function goButtom() { location.hr.原创 2020-10-16 13:19:57 · 83 阅读 · 0 评论 -
JavaScript中如何计算时间差
思路:假如有timeA 和 timeB。我要得到他们的时间差。把timeA 转化为时间戳的格式。把timeB转化为时间戳的格式。时间戳好像是1979-01-01开始计算,单位是毫秒。然后两个时间的时间戳相减,得到两者之间的绝对数字。在将这个数字转化为 天/小时/分钟/秒。得到时间差。//例let e = params.row.trueDate //获取到时间let b = params.row.date //获取到时间let start = new Date(b原创 2020-10-15 08:46:39 · 629 阅读 · 0 评论 -
axios封装
axios初级封装//get请求export function get(url, params){ return new Promise((resolve, reject) =>{ axios.get(url, { params: params }).then(res => { resolve(res.data); })..原创 2020-10-14 17:21:54 · 290 阅读 · 0 评论 -
监听屏幕大小变化
首先要明确一点就是再做响应式布局的时候,原理基本上都是通过rem来实现的。// 监听手机窗口变化,重新设置window.addEventListener('resize', init)//定义函数function init() { document.documentElement.style.fontSize = document.documentElement.clientWidth / 10 + 'px'}//原理:通过addEventListener()监听屏幕大小的变化动态的更改f.原创 2020-10-14 16:37:30 · 3525 阅读 · 0 评论 -
监听滚动距离
window.addEventListener('scroll', () => { let s = document.documentElement.scrollTop || document.body.scrollTop; console.log('这就是滚动距离:', s);}, true)//window.addEventListener()监听方法。传入三个参数。1. 第一个是事件的类型:click/mousedown/scroll/resize(监听屏幕大小)2. 第二原创 2020-09-08 19:36:26 · 2338 阅读 · 0 评论