【Java Web基础】(十六)JS报错:Uncaught TypeError: date.getHours is not a function

先上报错:

在这里插入图片描述

原本的代码:

function formateDate(date){
    if(!date instanceof Date){
        return ;
    }
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    var date = date.getDate();
    var hour = date.getHours();
    var minute = date.getMinutes();
    var second = date.getSeconds();
    month > 10? month:'0' + month;
    date > 10? date:'0' + date;
    hour > 10? hour:'0' + hour;
    minute > 10?minute:'0' + minute;
    second > 10?second:'0' + second;
    console.log(year + '/' + month +'/'+date+' '+hour+':'+minute+':'+second);
}

就是在var date哪一行报的错,一开始我不能理解为什么。
后来发现,我传进来的参数叫date,我在这里又var 了一个date并调用函数,但是,var的级别比传进来的参数的级别要高,所以这里会报这个问题。
本质原因:传进的参数与var的参数重名!

修改后的代码:

即将var的参数更改为另一个名字即可:

function formateDate(date){
    if(!date instanceof Date){
        return ;
    }
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    var dates = date.getDate();
    var hour = date.getHours();
    var minute = date.getMinutes();
    var second = date.getSeconds();
    month > 10? month:'0' + month;
    dates > 10? dates:'0' + dates;
    hour > 10? hour:'0' + hour;
    minute > 10?minute:'0' + minute;
    second > 10?second:'0' + second;
    console.log(year + '/' + month +'/'+dates+' '+hour+':'+minute+':'+second);
}

运行结果:
在这里插入图片描述

代码知识点:

if(!date instanceof Date){
        return ;
    }

这个if语句是判断date是否为Date类型,不是的话直接返回,是的话则继续往下执行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值