【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.判断数组类型

   Object.prototype.toString.apply(this.checkedCities)
5.将日期转换为指定的格式
//定义
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);
}
// 0
// 1
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

原文地址:https://www.cnblogs.com/websmile/p/8377699.html