時間對象、引用類型

基礎類型有哪些?復雜類型有哪些?有什么特征?

答:

  • 基礎類型:包含數值、字符串、布爾值、null、undefined是保存在棧內存中的簡單的數據段,容量有限,只能保存簡單數據。
  • 復雜類型:包含對象、函數、數組、正則保存在內存中的對象,就像在一塊荒地上劃分了一塊地方存儲,變量值保存了這個地方的指針(坐標),指向存儲的內存。
  • 特征:基礎類型可以按照變量值進行賦值,而復雜類型得通過指針來賦值的,當變量相同時指向的是同一個對象,對象改變的話兩個變量都會改變。
如下代碼的輸出? 為什么?
var obj1 = {a:1, b:2};
var obj2 = {a:1, b:2};
console.log(obj1 == obj2);//此時obj1與obj2指針指向的對象不同,所以false
console.log(obj1 = obj2);//將obj2的指針賦值給obj1,返回的是obj1的對象
console.log(obj1 == obj2);//它倆指向同一個對象,所以ture
寫一個函數getIntv,獲取從當前時間到指定日期的間隔時間
function addClass(obj,val) {
    var classArr = obj.calssName.split(" ");
    for(var i=0;i<classArr.length;i++){
    if( val === classArr[i]){
    classArr.splice(classArr[i],1);
    return classArr.join(" ");
        }
    }
    var str = getIntv("2016-09-10");
    console.log(str);
    function getIntv(times){
        var time = Date.parse(times) - Date.now();
        time = Math.round(time/1000);
        var day = Math.floor(time/3600/24);
        var hour = Math.floor((time - day*24*3600)/3600);
        var minute = Math.floor((time - day*24*3600 - hour*3600)/60)
        var second = Math.floor((time - day*24*3600 - hour*3600 - minute*60))
        return ("距目標日期還有"+day+"天"+hour+"時"+minute+"分"+second+"秒")
}
把數字日期改成中文日期
    var str = getChsDate('2015-01-08');
    function getChsDate(str){
        var ChsDate =[ '零','一','二','三','四','五','六','七','八','九','十','十一','十二','十三','十四','十五','十六','十七','十八','十九','二十','二十一','二十二','二十三','二十四','二十五','二十六','二十七','二十八','二十九','三十','三十一'];
        var TimesStr = str.split("-")
        var year = TimesStr[0]
        var mouth = TimesStr[1]
        var day = TimesStr[2]
        return ChsDate[year[0]]+ChsDate[year[1]]+ChsDate[year[2]]+ChsDate[year[3]] + "年" +ChsDate[Math.abs(mouth)]+"月" + ChsDate[Math.abs(day)]+"日"
    }
    console.log(str);
寫一個函數獲取n天前的日期
var lastWeek = getLastNDays(7); // ‘2016-01-08’
var lastMonth = getLastNDays(30); //'2015-12-15'

function getLastNDays(n){
var time = "";
var a = new Date(Date.now()-3600241000*n);
var year =a.getFullYear();
var month =a.getMonth()+1;
var day = a.getDate();
time = year+"-"+month+"-"+day;
return time;
}
getLastNDays(7);


#####完善如下代碼,用于獲取執行時間如:
var Runtime = (function(){
    //code here ...
    var obj = {
        start: function(){
            presentTime = Date.now();
        },
        end: function(){
            endTime = Date.now();
        },
        get: function(){
            return endTime-presentTime;

        }
    };
    return obj;
}());
Runtime.start();
for (var i=0;i<1000;i++)
console.log(i)
Runtime.end();
console.log(  Runtime.get() );

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

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


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

var obj ={
name:"syc",
sex:"nan",
age:23,
like:{
"game":"dota",
}
}
function objCopy(obj){
var obj1={};
for( key in obj){
if (typeof obj[key]==="object"){
obj1[key] = objCopy(obj[key])
}
else{
obj1[key]=obj[key]
}
}
return obj1;
}
objCopy(obj)

**本文版權歸本人和饑人谷所有,轉載請注明來源。**
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 基礎類型有哪些?復雜類型有哪些?有什么特征?5種簡單數據類型(基本數據類型):Undefined、Null、Boo...
    coolheadedY閱讀 328評論 0 0
  • 基礎類型有哪些?復雜類型有哪些?有什么特征? 基本類型:指的是保存在棧內存中的簡單數據段,包括---數值,字符串,...
    王難道閱讀 225評論 0 0
  • 問答 1.基礎類型有哪些?復雜類型有哪些?有什么特征? 基礎類型:數字、字符串、布爾、undefined、null...
    車萬里閱讀 292評論 0 0
  • 問答 基礎類型有哪些?復雜類型有哪些?有什么特征?答:基礎類型:數字number字符串string布爾值boole...
    饑人谷_桶飯閱讀 299評論 0 0
  • 【日精進打卡持續第36天】 【知-學習】 1.背讀《六項精進大綱》0遍,累計30遍 背誦《大學》0遍,累計29遍 ...
    沁舒閱讀 237評論 0 0