JS 時間對象、引用類型

基礎(chǔ)類型有哪些?復(fù)雜類型有哪些?有什么特征?##

數(shù)據(jù)類型.png

如下代碼的輸出? 為什么?##

var obj1 = {a:1, b:2};
var obj2 = {a:1, b:2};
console.log(obj1 == obj2);//false,二者指向的兩塊堆內(nèi)存
console.log(obj1 = obj2);//使obj1指向obj2的堆內(nèi)存
console.log(obj1 == obj2);//true,二者指向同一塊堆內(nèi)存

寫一個函數(shù)getIntv,獲取從當(dāng)前時間到指定日期的間隔時間##

    function getIntv(str){
      var val = Date.parse(str) - Date.now();
      var dd = Math.floor(val/(24*60*60*1000));
      var hh = Math.floor((val-(dd*24*60*60*1000))/(60*60*1000));
      var mm = Math.floor((val-(dd*24*60*60*1000+hh*60*60*1000))/(60*1000));
      var ss = Math.floor((val-(dd*24*60*60*1000+hh*60*60*1000+mm*60*1000))/1000);
      var time = "據(jù)除夕還有 "+dd+" 天 "+hh+" 小時 "+mm+" 分 "+ss+" 秒"
      return time;
    }
    var str = getIntv("2017-01-07");
    console.log(str)//據(jù)除夕還有 172 天 16 小時 9 分 43 秒

把數(shù)字日期改成中文日期##

    function getChsDate(str){
      var date = new Date(str);
      var year = date.getFullYear().toString(),
          month = date.getMonth(),
          day = date.getDate();
      var arr=["零","一","二","三","四","五","六","七","八","九","十","十一","十二","十三","十四","十五","十六","十七","十八","十九","二十","二十一","二十二","二十三","二十四","二十五","二十六","二十七","二十八","二十九","三十","三十一"];
      var chsYear = "";
      for (var i = 0; i < year.length; i++) {
        chsYear += arr[year[i]];
      }
      chsDate = chsYear+"年"+arr[month + 1]+"月"+arr[day]+"日";
      return chsDate
    }
    var str = getChsDate('2016-07-18');
    console.log(str);  // 二零一六年七月十八日

寫一個函數(shù)獲取n天前的日期##

function getLastNDays(val){
  var lastNDays = new Date(Date.now() - val*24*60*60*1000);
  var str = lastNDays.getFullYear()+"-"+(lastNDays.getMonth()+1)+"-"+lastNDays.getDate();
  return str;
}
var lastWeek =  getLastNDays(7); // "2016-7-11"
var lastMonth = getLastNDays(30); // "2016-6-18"

獲取執(zhí)行時間##

var Runtime = (function(){
     var startDate,endDate;
     return {
        start: function(){
            startDate = Date.now();
        },
        end: function(){
            endDate = Date.now();
        },
        get: function(){
            return endDate - startDate;
         }
     };
}());
Runtime.start();
//todo something
Runtime.end();
console.log(  Runtime.get() );

樓梯有200級,每次走1級或是2級,從底走到頂一共有多少種走法?用代碼(遞歸)實(shí)現(xiàn)##

function fn(n){
if (n===1) {
return 1;
}
if (n===2) {
return 2;
}
return fn(n-1) + fn(n-2);
}

寫一個json對象深拷貝的方法,json對象可以多層嵌套,值可以是字符串、數(shù)字、布爾、json對象中的任意項(xiàng)##

    function objCopy(obj){
          var newObj = {};
          for (var key in obj) {
            if(typeof arr[key] === "object"){
              newObj[key] = objCopy(obj[key])
            }else{
              newObj[key] = obj[key];
            }
          }
          return newObj;
        }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容