• 【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

  • 相关阅读:
    mysql中标量子查询和关联子查询的性能比较
    关于mysql函数GROUP_CONCAT
    mysqldump和smbclient的简单使用
    找到自己除编码外可以做的事情
    smalldatetime和datetime的区别
    一个简单的职责链设计
    mysql中用HEX和UNHEX函数处理二进制数据的导入导出
    英语词根、词根、前缀、后缀大全
    ASP.NET编译执行常见错误及解决方法汇总之二
    ASP.NET编译执行常见错误及解决方法汇总之五(终结篇)
  • 原文地址:https://www.cnblogs.com/websmile/p/8377699.html
Copyright © 2020-2023  润新知