JavaScript之面向对象研究一

来源:互联网 发布:服装销售软件 编辑:程序博客网 时间:2024/06/08 10:24

     首先,对象是什么?在编程语言中有一种万物皆对象,即一切事物都可以视为对象。按照JAVA的面向对象的理念,对象有属性和行为(即方法)。

    ---本例是:由于一个系统会出现很多以某某时间到某某时间的查询,且有时候要从后台取时间到前台。代码的重用行太高,所以采用对象封装让全系统调用

    那么js怎么编码才能实现面向对象呢?

var ltx={formatDate:null,  //属性//第一个参数为后台取出来的startTime    //第二个参数为界面上要设置的值对应的idinitTime:function(start,startTimeVar,end,endTimeVar,day){if(start==null || start==""){$('#'+startTimeVar).datetimebox('setValue',toDDMMMYYYY(subtracteDate(new Date(),day)));}else{$('#'+startTimeVar).datetimebox('setValue',start); }if(end==null || end==""){  $('#'+endTimeVar).datetimebox('setValue',toDDMMMYYYY(new Date()));}else{$('#'+endTimeVar).datetimebox('setValue',end);}//方法function subtracteDate(dd,dadd){var a = new Date(dd);  a = a.valueOf();  a = a - dadd * 24 * 60 * 60 * 1000;  a = new Date(a);  return a; }function toDDMMMYYYY(date){var d = new Date(date.getTime());    var dd = d.getDate() < 10 ? "0" + d.getDate() : d.getDate().toString();    var mmm = d.getMonth() +1 <10 ? "0" + (d.getMonth()+1) : (d.getMonth()+1).toString();    var yyyy = d.getFullYear().toString();     var HH=d.getHours() <10 ? "0" + d.getHours() : d.getHours().toString();  var mm=d.getMinutes() < 10 ? "0" + d.getMinutes() : d.getMinutes().toString();  var ss=d.getSeconds() < 10 ? "0" + d.getSeconds() : d.getSeconds().toString();  return yyyy+"-"+mmm +"-"+dd + " "+HH+":"+mm+":"+ss;}}};
    上面的代码块中,ltx视为一个对象,而formatDate是个属性,initTime()是其中的一个方法。我们看到里面方法调用方法。且在initTime()的方法书写方式和subtracteDate、toDDMMMYYYY都不一样。怎么调用呢?

    很简单,在页面加载时,直接类名.方法(),传入参数

 $(function() {//初始化时间ltx.initTime("","startTimehntview","","endTimehntview",30);});
   那么,我是否可以将subtracteDate、toDDMMMYYYY的方法和init方法写成平级方法呢,这样在initTime()中调用时我们使用类名.方法呢?

var ltx={formatDate:null,  //属性//第一个参数为后台取出来的startTime//第二个参数为界面上要设置的值对应的idinitTime:function(start,startTimeVar,end,endTimeVar,day){if(start==null || start==""){$('#'+startTimeVar).datetimebox('setValue',ltx.toDDMMMYYYY(ltx.subtracteDate(new Date(),day)));}else{$('#'+startTimeVar).datetimebox('setValue',start); }if(end==null || end==""){ $('#'+endTimeVar).datetimebox('setValue',ltx.toDDMMMYYYY(new Date()));}else{$('#'+endTimeVar).datetimebox('setValue',end);}},subtracteDate:function(dd,dadd){var a = new Date(dd);  a = a.valueOf();  a = a - dadd * 24 * 60 * 60 * 1000;  a = new Date(a);  return a; },toDDMMMYYYY:function(date){var d = new Date(date.getTime());    var dd = d.getDate() < 10 ? "0" + d.getDate() : d.getDate().toString();    var mmm = d.getMonth() +1 <10 ? "0" + (d.getMonth()+1) : (d.getMonth()+1).toString();    var yyyy = d.getFullYear().toString();     var HH=d.getHours() <10 ? "0" + d.getHours() : d.getHours().toString();  var mm=d.getMinutes() < 10 ? "0" + d.getMinutes() : d.getMinutes().toString();  var ss=d.getSeconds() < 10 ? "0" + d.getSeconds() : d.getSeconds().toString();  return yyyy+"-"+mmm +"-"+dd + " "+HH+":"+mm+":"+ss;}};
   调用还是一样。


原创粉丝点击