饥人谷技术博客

时间对象、引用类型

2016-08-26  本文已影响0人  浩天天
基础类型有哪些?复杂类型有哪些?有什么特征?

答:

如下代码的输出? 为什么?
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)

**本文版权归本人和饥人谷所有,转载请注明来源。**
上一篇 下一篇

猜你喜欢

热点阅读