第十九彈 時(shí)間對象皇型、引用類型

問答:

1.基礎(chǔ)類型有哪些?復(fù)雜類型有哪些砸烦?有什么特征弃鸦?

基礎(chǔ)類型包括 null,undefined 數(shù)字 字符串 Boolean
復(fù)雜類型:除了基本類型外都是復(fù)雜類型幢痘;
基礎(chǔ)類型 在內(nèi)存中是存在棧中的
復(fù)雜類型 是存儲(chǔ)在堆內(nèi)存中的唬格,變量只是保存對象的調(diào)用索引

Paste_Image.png

在函數(shù)參數(shù)傳遞時(shí),對于基本類型颜说,在函數(shù)內(nèi)部修改值并不會(huì)影響外部的值购岗,
對于對象來說,如果函數(shù)內(nèi)部修改了對象的屬性值门粪,會(huì)原對象有影響喊积。而如果在函數(shù)內(nèi)部新建了一個(gè)對象就不會(huì)對原對象有影響。

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

var obj1 = {a:1, b:2};
var obj2 = {a:1, b:2};
console.log(obj1 == obj2);   //false 指向不是一個(gè)對象
console.log(obj1 = obj2);    //賦值:返回obj2
console.log(obj1 == obj2);   //true  指向同一對象

代碼題:

  • 寫一個(gè)函數(shù)getIntv玄妈,獲取從當(dāng)前時(shí)間到指定日期的間隔時(shí)間
//寫一個(gè)函數(shù)getIntv乾吻,獲取從當(dāng)前時(shí)間到指定日期的間隔時(shí)間
var str = getIntv("2016-06-19");
console.log(str);
function getIntv(endDate) {
    if (!str) return "";
    if (typeof str!=="string") return (str+"");
    var parseDate=endDate;
//解析時(shí)考慮到ES5特性 如果"-"形式有前載0就會(huì)轉(zhuǎn)化成0時(shí)區(qū)標(biāo)準(zhǔn)時(shí)間,而一般我們計(jì)算的結(jié)果都是要本地時(shí)區(qū)時(shí)間 
    if(parseDate.indexOf("-")!=-1){
      parseDate=parseDate.replace(/-/g,"/")
    }
    parseDate=new Date(parseDate);
    if(isNaN(+parseDate)) return "解析時(shí)間錯(cuò)誤";
    var intv = parseDate -new Date()+24*60*60*1000-1;
    if (intv < 0) {
        return "已經(jīng)過了" + endDate + "呀";
    }
    if (intv == 0) {
        return "距離" + endDate + "還有0秒";
    }
    var ret = "",
        date = "",
        hours = "",
        mins = "",
        senconds = "";
    ret += (date = parseInt(intv / (24 * 60 * 60 * 1000))) > 0 ? (intv = intv % (24 * 60 * 60 * 1000), date + "天") : "";
    ret += (hours = parseInt(intv / (60 * 60 * 1000))) > 0 ? (intv = intv % (60 * 60 * 1000), hours + "小時(shí)") : "";
    ret += (mins = parseInt(intv / (60 * 1000))) > 0 ? (intv = intv % (60 * 1000), mins + "分鐘") : "";
    ret += (seconds = parseInt(intv / 1000)) > 0 ? seconds + "秒" : "";
    return "距離" + endDate + "還有" + ret;
}
  • 把數(shù)字日期改成中文日期
//把數(shù)字日期改成中文日期
var str = getChsDate('1989-10-10');
console.log(str);
function getChsDate(str) {
    if (!str) return "";
    if (typeof str!=="string") return (str+"");
    var parseDate=str;
    //解析時(shí)考慮到ES5特性 如果"-"形式有前載0就會(huì)轉(zhuǎn)化成0時(shí)區(qū)標(biāo)準(zhǔn)時(shí)間拟蜻,而一般我們計(jì)算的結(jié)果都是要本地時(shí)區(qū)時(shí)間 
    if(parseDate.indexOf("-")!=-1){
      parseDate=parseDate.replace(/-/g,"/")
    }
    parseDate = new Date(parseDate);
    if (isNaN(+parseDate)) { //先嘗試轉(zhuǎn)換绎签,如果不行返回 "輸入日期錯(cuò)誤"
        return "輸入日期錯(cuò)誤";
    }
    var year = (function() {
        var tempArr = parseDate.getFullYear().toString().split("");
        var ret = "";
        for (var i in tempArr) {
            ret += trans(tempArr[i]);
        }
        return ret;
    })();
    var month = trans(parseDate.getMonth() + 1);
    var date = trans(parseDate.getDate());
    return year + "年" + month + "月" + date + "日"
}
function trans(num) {
    var arr = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十',
        '十一', '十二', '十三', '十四', '十五', '十六', '十七', '十八', '十九', '二十', '二十一', '二十二', '二十三', '二十四', '二十五', '二十六', '二十七', '二十八', '二十九', '三十', '三十一'
    ]
    if (!num || isNaN(+num)) return "";
    num = parseInt(num);
    if (num < 0 || num > arr.length - 1) return "";
    return arr[num];
}
  • 完善如下代碼,用于獲取執(zhí)行時(shí)間如:
//完善如下代碼酝锅,用于獲取執(zhí)行時(shí)間如:
var Runtime = (function(){
    var start=0,end=0;
    return {
        start: function(){
              start= new Date();
        },
        end: function(){
             end= new Date();
        },
        get: function(){
             return end-start;
        }
    };
}());
Runtime.start();
for(var i=0;i<10000;i++){
  console.log(i);
}
Runtime.end();
console.log(Runtime.get() );
  • 樓梯有200級辜御,每次走1級或是2級,從底走到頂一共有多少種走法屈张?用代碼(遞歸)實(shí)現(xiàn)
//樓梯有200級擒权,每次走1級或是2級,從底走到頂一共有多少種走法阁谆?用代碼(遞歸)實(shí)現(xiàn)
function getFoolorMethod(n){
  if(n==1) return 1;
  if(n==2) return 2;
  return getMethod(n-1)+getMethod(n-2);
}

寫一個(gè)深拷貝的方法碳抄,拷貝對象以及內(nèi)部嵌套的值可以是字符串、數(shù)字场绿、布爾剖效、數(shù)組、json對象中的任意項(xiàng)

//寫一個(gè)深拷貝的方法焰盗,拷貝對象以及內(nèi)部嵌套的值可以是字符串璧尸、數(shù)字、布爾熬拒、數(shù)組爷光、json對象中的任意項(xiàng)
function deepCopy(oldObj){
  var newObj=oldObj;
  if(oldObj&&typeof oldObj==="object"){
    newObj=Object.prototype.toString.call(oldObj)==="[object Array]"?[]:{};
    for(var i in oldObj){
      newObj[i]=deepCopy(oldObj[i]);
    }
  }
  return newObj;
}

參考文檔:
阮一峰博客
饑人谷課件


本教程版權(quán)歸小韓同學(xué)和饑人谷所有,轉(zhuǎn)載須說明來源

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末澎粟,一起剝皮案震驚了整個(gè)濱河市蛀序,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌活烙,老刑警劉巖徐裸,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異啸盏,居然都是意外死亡重贺,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門回懦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來气笙,“玉大人,你說我怎么就攤上這事粉怕〗∶瘢” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵贫贝,是天一觀的道長秉犹。 經(jīng)常有香客問我,道長稚晚,這世上最難降的妖魔是什么崇堵? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮客燕,結(jié)果婚禮上鸳劳,老公的妹妹穿的比我還像新娘。我一直安慰自己也搓,他們只是感情好赏廓,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布涵紊。 她就那樣靜靜地躺著,像睡著了一般幔摸。 火紅的嫁衣襯著肌膚如雪摸柄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天既忆,我揣著相機(jī)與錄音驱负,去河邊找鬼。 笑死患雇,一個(gè)胖子當(dāng)著我的面吹牛跃脊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播苛吱,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼酪术,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了又谋?” 一聲冷哼從身側(cè)響起拼缝,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎彰亥,沒想到半個(gè)月后咧七,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡任斋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年继阻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片废酷。...
    茶點(diǎn)故事閱讀 39,795評論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瘟檩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出澈蟆,到底是詐尸還是另有隱情墨辛,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布趴俘,位于F島的核電站睹簇,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏寥闪。R本人自食惡果不足惜太惠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望疲憋。 院中可真熱鬧凿渊,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至剂癌,卻和暖如春淤翔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背佩谷。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留监嗜,地道東北人谐檀。 一個(gè)月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像裁奇,于是被迫代替她去往敵國和親桐猬。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評論 2 354

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