名前が衝突していただけとかアホか

こんなんかいてた

var skz = (function(){
  //twitterのURL
  var TwitterModel = function(url, api_url){
    return {
      url: url,
      api_url: api_url,
    };
  };
  //DateModel
  var DateModel = function(){
    return {
      getDate: function(){
        return new Date;
      },
      getTimeFormat: function(date){
        var year = date.getFullYear();
        var month = date.getMonth();
        var date = date.getDate();
        var hour = date.getHours();
        var minutes = ("0" + date.getMinutes()).slice(-2);
        var seconds = ("0" + date.getSeconds()).slice(-2);
        return year + "/" + month + "/" + date + " " + hour + ":" + minutes + ":" + seconds;
      },
    };
  };
  return {
    TwitterModel: TwitterModel,
    DateModel: DateModel,
  };
})();
debugger
var dm = skz.DateModel();
var date = dm.getDate();
var dateformat = dm.getTimeFormat(date);

dm.getTimeFormat(date)でコケた。なんでかっていうと

function(date){
...
var month = date.getMonth();
var date = date.getHours();
...
}

dateが衝突していた!

回避策

date を d とかにして名前衝突を回避