Date & Math
Date.now() // 返回毫秒数
var dt = new Date()
dt.getTime() // 获取毫秒数
dt.getFullYear()
dt.getMonth() // 月 0~11,使用的时候要+1
dt.getDate() // 日 1~31,注意区分和Date函数的区别
dt.getHours() // 0~23
dt.getMinutes() // 0~59
dt.geSeconds() // 0~59
Math.random() // 用来获取随机数,返回值为 0~1 的小数
题目十八:获取2017-06-10格式的日期
function formatDate(dt) {
if(!dt){
dt = new Date()
}
var year = dt.getFullYear()
var month = dt.getMonth()+1
var date = dt.getDate()
if(month < 10){
month = '0' + month
}
if(date < 10){
date = '0' + date
}
return year + '-' + month + '-' + date
}
题目十九:获取随机数,要求长度是一致的字符串格式
// 假如要获取的随机数是10位的字符串,那么就加上10个'0'
var random = Math.random()
random = random + '0000000000'
random = random.slice(2,12) // 最前面有"0.xxxxxx"
console.log(random)
题目二十:写一个能遍历对象和数组的通用的forEach函数
注意,数组有forEach方法,对象的遍历是使用的for…in…
判断是否为数组使用的是a instanceof Array
function forEach(obj, fn) {
var key
if(obj instanceof Array) {
obj.forEach(function(item, index){
fn(index, item)
})
} else {
for(key in obj) {
//if(obj.hasOwnProperty(key)) //可以加上这段代码判断一下
fn(key, obj[key])
}
}
}
var arr = [1, 2, 3]
forEach(arr, function(index, item){
console.log(index, item)
})
var obj = {
name: "wufan",
age: "23",
School: "Tsinghua University"
}
forEach(obj, function(key, value) {
console.log(key, value)
})