JaveScript基礎(chǔ)之時(shí)間對(duì)象與引用類(lèi)型

關(guān)于JS基礎(chǔ)類(lèi)型啦逆、復(fù)雜類(lèi)型的總結(jié)罢艾;

  • 基礎(chǔ)類(lèi)型(5種)
    包括: Undefined萝玷、Null、String昆婿、Boolean球碉、Number
    值:由簡(jiǎn)單的數(shù)據(jù)段構(gòu)成;
    訪(fǎng)問(wèn)類(lèi)型:按值訪(fǎng)問(wèn)仓蛆,可操作保存在變量中的實(shí)際值睁冬;

var a=1;
var b=2;
b=a;
console.log(a) // 1
console.log(b) // 1


- 復(fù)雜類(lèi)型
包括:Object、Arrar、Date豆拨、Function等
值:由多個(gè)值構(gòu)成的對(duì)象直奋;
訪(fǎng)問(wèn)類(lèi)型:在操作對(duì)象時(shí),實(shí)際上是對(duì)于對(duì)象的引用施禾,而不是實(shí)際值脚线;

var arr1=[1,2,3,4,5];
var arr2=arr1;
arr1.push(6);
arr2 //[1,2,3,4,5,6]

- ####如下代碼的輸出? 為什么?
 var obj1 = {a:1, b:2};
 var obj2 = {a:1, b:2};
 console.log(obj1 == obj2); //false,obj1與obj2兩者沒(méi)有關(guān)系弥搞,操作數(shù)不指向同一對(duì)象
 console.log(obj1 = obj2); // 返回obj1的對(duì)象邮绿,Object {a:1,b:2}
 console.log(obj1 == obj2); // true,由于上一步,obj2賦值給obj1攀例,意思是說(shuō)obj1指向obj2的內(nèi)存空間船逮,兩者變?yōu)橥粚?duì)象;
- ####獲取從當(dāng)前時(shí)間到指定日期的間隔時(shí)間(demo)
function getIntv(date){
  var d=new Date(date);
  var a=new Date(date)-Date.now();
  var day= Math.floor(a/1000/60/60/24);
  var hour=Math.floor((a-day*1000*60*60*24)/1000/60/60);
  var min=Math.floor((a-(day*24+hour)*1000*60*60)/1000/60);
  var sec=Math.floor((a-(day*24*60*60*1000+hour*60*60*1000+min*60*1000))/1000);
  var result= '距離雙十一剩余 '+day+'天 '+hour+'小時(shí) '+min+'分鐘 '+sec+'秒';
  return result;
}
getIntv('2016-11-11')
![](http://upload-images.jianshu.io/upload_images/2755981-3a1054183d97eb9d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
- ####把數(shù)字日期改成中文日期(demo)
var str = getChsDate('2015-01-08');
function getChsDate(str){
     var d=new Date(str),
         arrchina=['零','一','二','三','四','五','六','七','八','九','十'],
         year=d.getFullYear(),
         month=d.getMonth(),
         date=d.getDate(),
         str="";

      var arryear = year.toString().split("");  
      for(var i=0;i<4;i++){
          str+=arrchina[arryear[i]];
      }
      str=str+"年";

     if(month<10){
       str=str+arrchina[month+1];
     }else if(month>9){
       str=str+arrchina[10]+arrchina[month-9];
     }else if(month=10){
       str=str+arrchina[10];
     }
     str=str+"月"  

    if(date<11){
      str=str+arrchina[date];
    }else if(date<20){
      str=str+(arrchina[10]+arrchina[date-10]);
    }else if(date<30){
      str=str+("二十"+arrchina[date-20]);
    }else if(date<32){
      str=str+("三十"+arrchina[date-30]);
    }
    str=str+"日"                 
    return str;
} 
 console.log(str);
![](http://upload-images.jianshu.io/upload_images/2755981-3b21f076c01eca3a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

- ####寫(xiě)一個(gè)函數(shù)獲取n天前的日期
function getlastDays(number){
  var d=new Date();
  var a=new Date(d.getTime()-number*24*60*60*1000);
  var year=a.getFullYear();
  var month=a.getMonth()+1;
  var date=a.getDate();
  result=year+"-"+ month +"-"+ date;
  return result;
}
![](http://upload-images.jianshu.io/upload_images/2755981-f796bb7b23df661c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

- ####寫(xiě)一個(gè)函數(shù)用于獲取執(zhí)行時(shí)間粤铭,用于獲取執(zhí)行時(shí)間如
var Runtime = (function(){
var startime=0;
var endtime=0;
var obj = {
    start: function(){
         startime=Date.now();
    },
    end: function(){
         endtime=Date.now();
    },
    get: function(){
         var gettime=endtime-startime;
         return gettime;
    }
};
return obj;
}());
Runtime.start();
for(var i=0;i<10000;i++){
  console.log(1);
}
Runtime.end();
console.log(  Runtime.get() );
![](http://upload-images.jianshu.io/upload_images/2755981-7eab32ab4d4f44c3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


- ####樓梯有200級(jí)挖胃,每次走1級(jí)或是2級(jí),從底走到頂一共有多少種走法梆惯?用代碼(遞歸)實(shí)現(xiàn)
function method(num){
    var s = 0;
    if(num == 1){
        return 1; 
    }
    else if(num == 2){
        return 2;
    }
    else {
        s= method(num-2) + method(num-1);
    }
    return s;
}
method(200);
由于數(shù)值較大酱鸭,超出了棧的容量,所以無(wú)結(jié)果
[參考文章](http://chenqx.github.io/2014/09/29/Algorithm-Recursive-Programming/)

- ####寫(xiě)一個(gè)json對(duì)象深拷貝的方法垛吗,json對(duì)象可以多層嵌套凛辣,值可以是字符串、數(shù)字职烧、布爾、json對(duì)象中的任意項(xiàng)
var json1={
    "name":["peter","john","may"],
    "age":"16",
    "school":[
      {"eastschool":["es1","es2","es3"]},
      {"northschool":["nors1","nors2","nors3"]}          
    ]      
}
function copyjson(json){
    var copy=[];
    for(var key in json){
    if(typeof json[key] == "object"||"arrar"){
        copy[key]=json[key];                           
    }else{
        copy[key]=copyjson(json[key]);
        }
  }
    return copy;      
  }
  copyjson(json1)

本文版權(quán)歸屬本人及饑人谷所有防泵,轉(zhuǎn)載請(qǐng)注明蚀之。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市捷泞,隨后出現(xiàn)的幾起案子足删,更是在濱河造成了極大的恐慌,老刑警劉巖锁右,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件失受,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡咏瑟,警方通過(guò)查閱死者的電腦和手機(jī)拂到,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)码泞,“玉大人兄旬,你說(shuō)我怎么就攤上這事∮嗔龋” “怎么了领铐?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵悯森,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我绪撵,道長(zhǎng)瓢姻,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任音诈,我火速辦了婚禮幻碱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘改艇。我一直安慰自己收班,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布谒兄。 她就那樣靜靜地躺著摔桦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪承疲。 梳的紋絲不亂的頭發(fā)上邻耕,一...
    開(kāi)封第一講書(shū)人閱讀 51,554評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音燕鸽,去河邊找鬼兄世。 笑死,一個(gè)胖子當(dāng)著我的面吹牛啊研,可吹牛的內(nèi)容都是我干的御滩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼党远,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼削解!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起沟娱,我...
    開(kāi)封第一講書(shū)人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤氛驮,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后济似,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體矫废,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年砰蠢,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蓖扑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡台舱,死狀恐怖赵誓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤俩功,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布幻枉,位于F島的核電站,受9級(jí)特大地震影響诡蜓,放射性物質(zhì)發(fā)生泄漏熬甫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一蔓罚、第九天 我趴在偏房一處隱蔽的房頂上張望椿肩。 院中可真熱鬧,春花似錦豺谈、人聲如沸郑象。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)厂榛。三九已至,卻和暖如春丽惭,著一層夾襖步出監(jiān)牢的瞬間击奶,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工责掏, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留柜砾,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓换衬,卻偏偏與公主長(zhǎng)得像痰驱,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子瞳浦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355

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