资讯专栏INFORMATION COLUMN

s面向对象的写法

Yangder / 697人阅读

摘要:面向对象的写法一在中引入该文件,使用时二一般写一个较大的模块的代码时,采用这种方法写新建一个内容结构如下描述当前是否到期集合工单购买坐席数的事件请填写正确的工单购买坐席数清空工单的金额,新计算余额购买工单周期不存在周期,表示不过期并且原有坐

js面向对象的写法
一、在html中引入该js文件,使用时:

二、一般写一个较大的模块的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;
}();

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/108705.html

相关文章

  • JS组件开发之面向对象及物理模型编程

    摘要:内容简介,关于面向对象,关于面向物理模型,示例,总结,关于面向对象中的面向对象是一个老生常谈的问题,可能有人问你的话你也能霹雳啪啦的说一通,比如最常见的,对象的三要素对象的名字对象的属性对象的方法例子对象名示例对象属性对象方法或者稍微高级一 内容简介: 1,关于面向对象 2,关于面向物理模型 3,示例 4,总结 1,关于面向对象 javascript中的面向对象是一个老生常谈的问...

    cnTomato 评论0 收藏0
  • len(x) 击败 x.len(),从内置函数看 Python 设计思想

    摘要:被公认是一种新手友好型的语言,这种说法能够成立,内置函数在其中起到了极关键的作用。除了求长度,的某些内置函数也能在中找到对应的表达。的内置函数不与特定的类绑定,它们是一级对象。以此类比,的内置函数虽有简便之美,但却丢失了某些表意功能。 showImg(https://segmentfault.com/img/remote/1460000018939150); 内置函数是 Python ...

    xavier 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<