欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

s面向对象的写法

程序员文章站 2022-04-04 15:19:28
js面向对象的写法 一、在html中引入该js文件,使用时: 二、一般写一个较大的模块的js代码时,采用这种方法写js 新建一个js,内容结构如下: ......

js面向对象的写法

一、在html中引入该js文件,使用时:

<script>
    var buybw8product = new buybw8product();
</script>

二、一般写一个较大的模块的js代码时,采用这种方法写js

新建一个js,内容结构如下:

/**
 * create by wkk
 * 描述:***
 */
!function(){
    function b(){
        var that = this;
        //当前是否到期集合
        this.moduleisexpired = {
            ticketisexpired : $("#ticketisexpired"),
            ccisexpired     : $("#ccisexpired"),
            imisexpired     : $("#imisexpired")
        };
        //工单购买坐席数的change事件
        $("#ticketseatnum").on('change', (function(){
            var ticketseatnum = $(this).val() ? $(this).val() : 0;
            if(parseint(ticketseatnum) <= 0){
                alert('请填写正确的工单购买坐席数');
                that.disablebuybutton();
                // 清空工单的金额,新计算余额
                that.emptymoney('ticket');
                return false;
            }
            //购买工单周期
            var ticketseatyear = parseint($(that.seatyearselect.ticketseatyear).val());
            //不存在周期,表示不过期并且原有坐席数不为0
            if($("#ticketseatyear").length <= 0){
                //计算新的周期
                var ticketcurexpiretime = $(that.allcurexpiretime.ticketcurexpiretime).text();
                //从今天到到期日期的天数差值
                var todaydate = that.gettodaydate();
                var expiretimedays = that.datediff(todaydate, ticketcurexpiretime);
                var ticketseatyear = (parseint(expiretimedays)/365).tofixed(8);
            }
            if(ticketseatyear > 0){
                //计算工单的金额
                var ticketprice = $(that.productprice.ticketprice).text();
                //四舍五入->向下取整
                var tickettotalamount = math.floor(that.calcamount(ticketseatnum, ticketprice, ticketseatyear));

                //显示模块金额和总金额以及折扣信息
                that.showmoduletotalamountandtotalmoneyanddiscount('ticket', tickettotalamount, ticketseatnum, ticketseatyear);
            }
        }));
        /**
         * 比较两个日期的大小,返回值比较大的日期
         * @param date1
         * @param date2
         * @returns date
         */
        this.tab = function (date1,date2){
            var odate1 = new date(date1);
            var odate2 = new date(date2);
            if(odate1.gettime() >= odate2.gettime()){
                return date1;
            } else {
                return date2;
            }
        }

        /**
         * 返回今天的日期  格式:2018-08-08
         */
        this.gettodaydate = function(){
            var mydate = new date;
            var year = mydate.getfullyear();//获取当前年
            var month = mydate.getmonth()+1;//获取当前月
            var date = mydate.getdate();//获取当前日
            return year+'-'+month+'-'+date;
        }

        /**
         * 计算天数差的函数,通用
         * @param sdate1
         * @param sdate2
         * @returns {number}
         */
        this.datediff = function(sdate1,  sdate2){ //sdate1和sdate2是2006-12-18格式
            var  adate,  odate1,  odate2,  idays
            adate  =  sdate1.split("-")
            odate1  =  new  date(adate[1]  +  '-'  +  adate[2]  +  '-'  +  adate[0])    //转换为12-18-2006格式
            adate  =  sdate2.split("-")
            odate2  =  new  date(adate[1]  +  '-'  +  adate[2]  +  '-'  +  adate[0])
            idays  =  parseint(math.abs(odate1  -  odate2)  /  1000  /  60  /  60  /24)    //把相差的毫秒数转换为天数
            return  idays
        }
    }
    window.buybw8product = b;
}();