【js】项目中遇到的零星知识点
1.将进行url编码的json字符串转成json对象
在解析为json对象之前,要先用decodeURIComponent(str)来进行解码,然后这json串又变成了我们原先的json串了。然后我们就可以调用JSON.parse(str).来进行解析成json对象。
var jsonstr = getCookieByString('userInfo');
jsonstr = decodeURIComponent(jsonstr)
var eid = JSON.parse(jsonstr).eid
var cookie_name = 'isSHowBox' + eid;
2.JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串。
var str = {"name":"菜鸟教程", "site":"http://www.runoob.com"}
str_pretty1 = JSON.stringify(str)
3.json字符串变成json对象
var str = '{ "name": "cxh", "sex": "man" }';
var obj = eval('(' + str + ')');
或者
var obj = str.parseJSON();
或者
var obj = JSON.parse(str);
console.log(obj.name);
4.判断数组类型
//定义
Date.prototype.format = function(fmt) {
var o = {
"M+" : this.getMonth()+1, //月份
"d+" : this.getDate(), //日
"h+" : this.getHours(), //小时
"m+" : this.getMinutes(), //分
"s+" : this.getSeconds(), //秒
"q+" : Math.floor((this.getMonth()+3)/3), //季度
"S" : this.getMilliseconds() //毫秒
};
if(/(y+)/.test(fmt)) {
fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
}
for(var k in o) {
if(new RegExp("("+ k +")").test(fmt)){
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
}
}
return fmt;
} 应用:
var time1 = new Date().Format("yyyy-MM-dd");
var time2 = new Date().Format("yyyy-MM-dd HH:mm:ss");
this.value3=new Date(this.value3).Format('yyyy-MM-dd HH:mm:ss')
使用vue+elementUI 搭建项目,实现方式
<el-date-picker
v-model="value3"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetime"
placeholder="开始时间">
</el-date-picker>
6.判读一个浮点数后面有几个小数
var n = 2.968958;
console.log(n.toString().split('.')[1].length)
7.entries(),keys(),values()
entries()返回一个遍历器对象,用来遍历[键名, 键值]组成的数组。- 对于数组,键名就是索引值;
- 对于 Set,键名与键值相同。
- Map 结构的 Iterator 接口,默认就是调用
entries方法。 keys()返回一个遍历器对象,用来遍历所有的键名。- values() 返回一个遍历器对象,用来遍历所有的键值。
for (let index of ['a', 'b'].keys()) {
console.log(index);
}
//
//
for (let elem of ['a', 'b'].values()) {
console.log(elem);
}
// 'a'
// 'b'
for (let [index, elem] of ['a', 'b'].entries()) {
console.log(index, elem);
}
// 0 "a"
// 1 "b"
//如果不使用for...of...遍历,可以手动调用遍历器对象的next方法,进行遍历。 let letter = ['a', 'b', 'c'];
let entries = letter.entries();
console.log(entries.next().value); // [0, 'a']
console.log(entries.next().value); // [1, 'b']
console.log(entries.next().value); // [2, 'c']
相关资料:
作者:smile.轉角
QQ:493177502
【js】项目中遇到的零星知识点的更多相关文章
- JAVA项目中常用的异常知识点总结
JAVA项目中常用的异常知识点总结 1. java.lang.nullpointerexception这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用 ...
- Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验
vee-validate 是为 Vue.js 量身打造的表单校验框架,允许您校验输入的内容并显示对应的错误提示信息.它内置了很多常见的校验规则,可以组合使用多种校验规则,大部分场景只需要配置就能实现开 ...
- 如何Vue-cli开始使用在Vue.js项目中启动TDD(测试驱动开发)
通常,使用测试驱动开发(TDD)最困难的部分是开始.你必须下载带有奇怪依赖项的软件包,让测试套件与你的构建系统协同工作,然后你必须弄清楚如何编写一个测试!难怪这么多的开发者在你提起它的时候就开始跑开了 ...
- Vue.js项目中使用iconfont冲突问题解决
在开发前端项目中,字体图标变得越来越常用.一方面因为它比图片使用起来方便,可以像字体一样修改大小和颜色:另一方面是因为它可以减少请求数量,优化前端性能. iconfont的使用方法很简单,主要由三种引 ...
- sau交流学习社区--songEagle开发系列:Vue.js + Koa.js项目中使用JWT认证
一.前言 JWT(JSON Web Token),是为了在网络环境间传递声明而执行的一种基于JSON的开放标准(RFC 7519). JWT不是一个新鲜的东西,网上相关的介绍已经非常多了.不是很了解的 ...
- 17、vue-cli3 js项目中引入ts混用(typeScript)
说明: vue3.0搭建的项目,不过没有引入ts,后来需要用到一个插件是用ts写的,所以vue要用到ts... 一.安装typescript及loader npm install typescript ...
- 个人博客开发系列:Vue.js + Koa.js项目中使用JWT认证
前言 JWT(JSON Web Token),是为了在网络环境间传递声明而执行的一种基于JSON的开放标准(RFC 7519). 更多的介绍和说明,以及各种原理,我在此就不多赘诉了.JWT不是一个新鲜 ...
- Vue.js项目中,当图片无法显示时则显示默认图片
使用require将图片进入,写法如下: data: () => ({logo: 'this.src="' + require('../assets/img.png') + '&quo ...
- Node.js 项目中解决 SQL 注入和 XSS 攻击
1.SQL 注入 SQL 注入,一般是通过把 SQL 命令插入到 Web 表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的 SQL 命令. SQL 注入示例 在登录界面,后端会根 ...
随机推荐
- PS把图片P到老树干上,变成老树成精!
1,两张图片: 2,把人像图片拉到另一张图片上,Ctrl+T适当缩放,放到树干合适的地方. 3,人像--Ctrl+Shift+U 去色---复制树图片(背景)放第一张---正片叠底. 4,选中两张图片 ...
- CSS-水平和垂直居中
div中水平和垂直居中 width:200px;height:200px; /*设置div的大小*/ border:1px solid green; /*边框*/ text-align: center ...
- Vue2+VueRouter2+webpack 构建项目实战(四):接通api,渲染列表
通过前面几篇教程,我们已经顺利搭建起来了,并且已经组建好路由了.本章节,我们需要做一个列表页面,然后利用获取 http://cnodejs.org/api 的公开API,渲染出来. 我们打开src/p ...
- JMeter Dubbo请求插件jmeter-plugin-dubbo.jar
JMeter Dubbo请求插件jmeter-plugin-dubbo.jar by:授客 QQ:1033553122 测试环境 apache-jmeter-3.2 Dubbo 2.6.2 声明 ...
- Android 与Java 进程退出 killProcess与System.exit
android所有activity都在主进程中,在清单文件Androidmanifest.xml中可以设置启动不同进程,Service需要指定运行在单独进程?主进程中的主线程?还是主进程中的其他线程? ...
- sublime使用Package Control不能正常使用的解决办法
标签: Sublime作为一款非常优秀的编辑器,套用中学语文课本里一篇讲梁启超的文章里形容梁启超的一句话,就是“短小精悍”.说它“短小”,是因为它的轻量级:说它“精悍”,则得益于它那包罗万象以适用于任 ...
- DataGridView的单元格如何嵌入多个按钮控件
前段时间我有一个朋友面试公司的时候遇到这个面试题,他也给了份原题给我瞧瞧,并没有什么特别的要点,关于这一类问题,如何在网格上的单元格嵌入多个控件(如按钮.超链接等)问题,我在网上搜索了下这类问题,发现 ...
- Android 官方Demo ActionBarCompat-Styled
ActionBarCompat-Styled Demo下载地址:https://github.com/googlesamples/android-ActionBarCompat-Styled/#rea ...
- javascript实现的浏览器下载文件
function download(src) { var $a = document.createElement('a'); $a.setAttribute("href", src ...
- JVM 之类加载
一.概述 Java不同于C/C++这类传统的编译型语言,也不同于php这一类动态的脚本语言.可以说Java是一种半编译语言,我们所写的类会先被编译成.class文件,这个.class是一串二进制的字节 ...