js面試,其他基礎相關問題

一、日期相關問題
1.1
js中內置了一個Date對象

Date.now()//獲取當前時間毫秒數,13位數

let dt = new Date()
dt.getTime()//獲取毫秒數
dt.getFullYear()//獲取年
dt.getMonth()//0-11
dt.getDay(); //星期0-6
dt.getDate()
dt.getHours()//0-23
dt.getMinutes()//0-59
dt.getSeconds()//秒(0-59)
1.2
工作當中會經常用到時間戳,我曾經就遇到一個小白問我時間戳是什麼…(我當時也是小白不過還是略懂)
時間戳是指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現在的總秒數
那麼以下代碼就是js獲取當前日期的時間戳,均爲數字類型

let timestamp1 = Date.parse(new Date());//精確到秒
let timestamp2 = (new Date()).valueOf();//精確到毫秒
let timestamp3 = new Date().getTime();//精確到毫秒
let timestamp4 =Date.now(); //精確到毫秒
console.log(timestamp1,timestamp2,timestamp3,timestamp4)
1.3
時間戳轉日期格式

function DateFormat(value){
let numvalue = Number(value),dt=null;
if(String(numvalue).length===13){
dt = new Date(numvalue)
}else if(String(numvalue).length === 10){
dt = new Date(numvalue*1000)
}
let year = dt.getFullYear();//年
let month = dt.getMonth();//月
if(month<10){
month = 0${month}
}
let date = dt.getDate()+1//日期
if(date<10){
date = 0${date}
}
let houer = dt.getHours()//小時
if(houer<10){
houer = 0${houer}
}
let minu = dt.getMinutes()//分鐘
if(minu<10){
minu = 0${minu}
}
let seconds =dt.getSeconds()//秒
if(seconds<10){
seconds = 0${seconds}
}
let result = ${year}/${month}/${date} ${houer}:${minu}:${seconds}
return result
}
let a = DateFormat(1541080568437)
console.log(a)
這是 我自己學Date之後寫的一個時間戳轉換,比較腦殘,但是作爲學習還是能看的
然後就是若想用這個函數來處理vue裏的時間戳;那麼把這個函數擴展到vue的實例原型上即可

Vue.prototype.DateFormat = DateFormat
//然後就能在vue裏用這個方法,而且還能在vue的插值語法中使用{{DateFormat(待處理數據)}}
二、
數組API
2.1 forEach
遍歷所以的數組元素

let arr = [1,3,5]
arr.forEach(function(item,index){
console.log(item,index)
})
//item爲值,index爲索引
2.2 every
判斷數組元素是否都滿足一個條件

let arr = [1,3,5]
let result = arr.every((item,index)=>{
//條件添加,意思就是數組的每一個元素都小於4則輸出true
if(item<4){
return true
}
})
console.log(result)//false
2.3 some
用來判斷所有的數組元素,只要有一個滿足條件即可

let arr = [1,3,5]
let result = arr.some((item,index)=>{
//條件添加
if(item<4){
return true
}
})
console.log(result)//true
2.4 sort 排序

let arr = [1,6,2,5,7,3,6,4,5]
let arrx = arr.sort((a,b)=>{
return a-b//從小到大
})
console.log(arrx)
console.log(arr)
let arro = arr.sort((a,b)=>{
return b-a//從大到小
})
console.log(arro)
console.log(arr)
其實這個數組api是改變了原數組了的
2.5 map
將數組重新組裝並返回

let arr = [1,5,3,4,6]
let arrx = arr.map((item,index)=>{
return item+index;
})
console.log(arr)
console.log(arrx)
這個數組api沒有改變原數組

2.6 filter
過濾掉不符合條件的元素

let arr = [1,5,3,4,6]
let arrx = arr.filter((item,index)=>{
if(item>3){
return true
}
})
console.log(arr)
console.log(arrx)//[5, 4, 6]
三、對象API
for…in…

let obj = {
x:100,
y:200,
z:300
}
for(let key in obj){
if(obj.hasOwnPropery(key)){
console.log(key,obj[key])
}
}
// x 100 y 200 z 300

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章