javascirpt中的for...in循环
Posted 低代码布道师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascirpt中的for...in循环相关的知识,希望对你有一定的参考价值。
在学习微搭官方模板时候,有挺多不懂得地方,本着不懂就查的原则,一点点读一下官方的源代码,读懂了自己也就会了,水平和能力也就提高了。
具体是啥不会呢?我们先贴一段官方的代码
/**
* @description 格式话时间
*/
function dateFormat(fmt, date)
let ret;
const opt =
"Y+": date.getFullYear().toString(), // 年
"m+": (date.getMonth() + 1).toString(), // 月
"d+": date.getDate().toString(), // 日
"H+": date.getHours().toString(), // 时
"M+": date.getMinutes().toString(), // 分
"S+": date.getSeconds().toString() // 秒
// 有其他格式化字符需求可以继续添加,必须转化成字符串
;
for (let k in opt)
console.log(k)
ret = new RegExp("(" + k + ")").exec(fmt);
console.log(ret)
if (ret)
fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
;
;
return fmt;
这里的for in循环就不太会,于是百度一下这个语法
看看MDN是怎么解释的,js的学习我推荐看MDN的教程,比较全面而且也比较易懂
for…in语句以任意顺序遍历一个对象的除Symbol以外的可枚举属性,包括继承的可枚举属性
看来是要获取对象的键的,而且给出了一段示例代码
var obj = a:1, b:2, c:3;
for (var prop in obj)
console.log("obj." + prop + " = " + obj[prop]);
// Output:
// "obj.a = 1"
// "obj.b = 2"
// "obj.c = 3"
这个格式化代码看似比较简短,但是里边包含的知识点还是不少的,先学会这个了,里边正则表达式也不怎么会,还是需要继续学习的。
以上是关于javascirpt中的for...in循环的主要内容,如果未能解决你的问题,请参考以下文章