關(guān)于時(shí)間對(duì)象、引用類型


1. 基礎(chǔ)類型有哪些歌懒?復(fù)雜類型有哪些跟压?有什么特征?

  • 基礎(chǔ)類型有:數(shù)值歼培,布爾值震蒋,null,undefined躲庄,也稱為簡單類型
    • 特征:基礎(chǔ)類型是保存在棧內(nèi)存中的簡單數(shù)據(jù)段查剖,它是按值訪問,操作的是它們實(shí)際保存的值噪窘;基本類型從一個(gè)變量向一個(gè)變量復(fù)制時(shí)笋庄,會(huì)在棧中創(chuàng)建一個(gè)新值,然后把值復(fù)制到為新變量分配的位置上倔监。
      demo:
var a =10;
var b =a;
a = 1;
console.log(b);
console.log(a);

console.log(b);


簡單類型盒子.png
  • 復(fù)雜類型有:Objecet對(duì)象直砂,其中包括狹義對(duì)象,數(shù)組浩习,函數(shù)
    • 特征:復(fù)雜類型將內(nèi)容存儲(chǔ)在堆中静暂,棧中記錄的是指針(堆的地址),外部訪問時(shí)先引出地址谱秽,再通過地址去找到值所存放的位置洽蛀。
      demo:
var obj1 = {    name :'hunger'};
var obj2 = obj1;
obj1.name = 'huo';
console.log(obj2); // huo
復(fù)雜類型盒子.png

2. 如下代碼的輸出? 為什么?

var obj1 = {a:1, b:2};
var obj2 = {a:1, b:2};
console.log(obj1 == obj2); // false
console.log(obj1 = obj2); // Object {a:1, b:2}
console.log(obj1 == obj2); // true

第一次輸出fasle摹迷,是因?yàn)閛bj1和obj2指向的地址不一樣,是兩個(gè)不同的對(duì)象郊供,即使里面的內(nèi)容一樣峡碉,類似于一個(gè)0x0001,一個(gè)0x0002.
第二次輸出Object {a:1, b:2} 相當(dāng)于將obj1指向了obj2的地址驮审,那他們就共用一個(gè)地址鲫寄。
第三次輸出true,因?yàn)樗麄儸F(xiàn)在共同指向了obj2的地址疯淫,所以是true塔拳。

代碼

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

 var str = getIntv("2017-01-08");
 console.log(str); // 距除夕還有 20 天 15 小時(shí) 20 分 10 秒

代碼如下:

function getIntv(date){
var nowTime = Date.now();
var afterTime = Date.parse(date);
var getTime = nowTime - afterTime;

var days = Math.floor(getTime/1000/60/60/24)
var hours = Math.floor((getTime - days*1000*60*60*24) / 1000*60*60)
var mintues = Math.floor((getTime - days*1000*60*60*24- hours*1000*60*60) / 1000*60)
var seconds = Math.floor((getTime-days*1000*60*60*24- hours*1000*60*60-minutes*1000*60) / 1000
return '距離除夕還有' + days + '天' + hours '小時(shí)' + minutes +'分' + seconds+'秒'
}

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

var str = getChsDate('2015-01-08');
console.log(str); // 二零一五年一月八日

代碼如下 :

function getChsDate(str){
  var  chineseNumber = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十", "二十一", "二十二", "二十三", "二十四", "二十五", "二十六", "二十七", "二十八",    "二十九", "三十", "三十一"];
 var newDate = new Date(str)//獲得日期
var yearArr = newDate .getFullYear().toString.split('');
var newArr = [];
for(var i=0; i<yearArr.length;i++){
    newArr = chineseNumber[yearArr[i]];
}
var newMonth = chineseNumber[newDate.getMonth()+1];
var newDays = chineseNumber[newDate.getDate()];
return newArr+'年'+newMonth+'月'+newDays+'日';
}

3. 寫一個(gè)函數(shù)獲取n天前的日期

var lastWeek = getLastNDays(7); // ‘2016-01-08’
var lastMonth = getLastNDays(30); //'2015-12-15'

代碼如下:

function getLastNDays(date){
  var nowTime = Date.now();
  var getTime = new Date(nowTime - date*1000*60*60*24);
  return getTime.getFullYear() + '-' + getTime.getMonth() + '-' + getTime.getDate() ;
}

** 4. 完善如下代碼峡竣,用于獲取執(zhí)行時(shí)間如: **

var Runtime = (function(){
var startTime,endTime,getTime;
var obj = { 
start: function(){ 
  startTime = Date.now()
}, 
end: function(){ 
  endTime = Date.now()
 }, 
get: function(){
   getTime = endTime - startTime
   return '執(zhí)行時(shí)間:'+getTime+'ms';
   }
 };
return obj;}());
Runtime.start();
for(var i = 0; i<1000; i++){
    console.log(i);
}
Runtime.end();
console.log( Runtime.get() );

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

// 當(dāng)樓梯只有一級(jí)颂碧,只有一種方法(fn1),就是跨上一級(jí)类浪,我設(shè)為fn1
// 當(dāng)樓梯有2級(jí)時(shí)载城,有2種方法(fn2),一是直接跨上兩級(jí)费就,我設(shè)為fn2诉瓦,要不就fn1*2
// 當(dāng)樓梯有3級(jí)時(shí),有3種方法(fn3)力细,方法有:1.fn2+fn1 2.fn2+fn1. 3.fn1*3
// 當(dāng)樓梯有4級(jí)時(shí)睬澡,有5種方法(fn4),方法有:1.fn2*2 2.fn1*4 3.fn2+fn1*2 4.fn1*2+fn2 5.fn1+fn2+fn1
// 由此可見眠蚂,當(dāng)樓梯有4級(jí)樓梯的時(shí)候煞聪,其實(shí)就是a2+a3。當(dāng)樓梯有3級(jí)的時(shí)候,其實(shí)就是a1+a2
// 所以逝慧,當(dāng)走n級(jí)樓梯的時(shí)候昔脯,f(n) = f(n-1)+f(n-2) 類似于斐波那契數(shù)列
function fn(step){
    var a = 0;
    if(step === 1){
      a=1
      }else  if(step === 2){
      a=2
    }
else {
     return fn(step-1)+fn(step-2);
}
    return a;
}
console.log(fn(1));   
console.log(fn(2));   
console.log(fn(3));    
console.log(fn(4));    
console.log(fn(5));

6.寫一個(gè)json對(duì)象深拷貝的方法,json對(duì)象可以多層嵌套笛臣,值可以是字符串云稚、數(shù)字、布爾沈堡、json對(duì)象中的任意項(xiàng)

var obj1 = {
    "name":"huo",
    "age":21,
    "sex":man,
    "hobby":{
       "sport":"basketball",
       "hero":"wade
        }
}
function objcopy(obj){
   var newObj = {};
for(var key in obj){   //遍歷對(duì)象
  if(obj[key] === 'obj'{
    newObj[key] = obj(obj[key];   //假如對(duì)象里還有對(duì)象静陈,再執(zhí)行一次函數(shù)
  }else{
    newObj[key] = obj[key]  //對(duì)象里的值不是對(duì)象的話直接復(fù)制
  }
     return newObj;
  }
}


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市踱蛀,隨后出現(xiàn)的幾起案子窿给,更是在濱河造成了極大的恐慌,老刑警劉巖率拒,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件崩泡,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡猬膨,警方通過查閱死者的電腦和手機(jī)角撞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來勃痴,“玉大人谒所,你說我怎么就攤上這事∨嫔辏” “怎么了劣领?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長铁材。 經(jīng)常有香客問我尖淘,道長,這世上最難降的妖魔是什么著觉? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任村生,我火速辦了婚禮,結(jié)果婚禮上饼丘,老公的妹妹穿的比我還像新娘趁桃。我一直安慰自己,他們只是感情好肄鸽,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布卫病。 她就那樣靜靜地躺著,像睡著了一般典徘。 火紅的嫁衣襯著肌膚如雪忽肛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天烂斋,我揣著相機(jī)與錄音屹逛,去河邊找鬼。 笑死汛骂,一個(gè)胖子當(dāng)著我的面吹牛罕模,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播帘瞭,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼淑掌,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了蝶念?” 一聲冷哼從身側(cè)響起抛腕,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤芋绸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后担敌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體摔敛,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年全封,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了马昙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡刹悴,死狀恐怖行楞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情土匀,我是刑警寧澤子房,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站就轧,受9級(jí)特大地震影響池颈,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜钓丰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一躯砰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧携丁,春花似錦琢歇、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至肥橙,卻和暖如春魄宏,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背存筏。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國打工宠互, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人椭坚。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓予跌,卻偏偏與公主長得像,于是被迫代替她去往敵國和親善茎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子券册,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

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