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;
}();

s面向对象的写法的更多相关文章

  1. javascript面向对象的写法及jQuery面向对象的写法

    文章由来:jQuery源码学习时的总结 在JS中,一般的面向对象的写法如下: function Cao(){}//定义一个构造函数 Cao.prototype.init = function(){}/ ...

  2. javascript面向对象的写法03

    javascript面向对象的写法03 js一些基础知识的说明 prototype 首先每个js函数(类)都有一个prototype的属性,函数是类.注意类有prototype,而普通对象没有. js ...

  3. AS3.0面向对象的写法,类和实例

    package /*package是包路径,例如AS文件在ActionScript文件夹下,此时路径应为package ActionScript.必须有的.package中只能有一个class,在一个 ...

  4. javascript面向对象的写法02

    面向对象特性的初步实现 1.封装 利用作用域封装变量 作用域的概念是一样的,for语句,if语句等这些作用域内定义的变量只能作用域内访问,函数内定义的变量只能函数内访问. function Class ...

  5. javascript面向对象的写法01

    类和对象 其他面向对象的语言类的语法是内置的,自然而然的事.javascript中有对象,但没有类的语法,类的实现需要模拟出来. 只需要把对象想成一个容器,里面存放一些属性或方法,把类想象成一个对象的 ...

  6. jQuery插件写法总结以及面向对象方式写法总结

    前两个是jQuery插件,后面2个是以对象的形式开发,都类似. 写法一 (function($, window){ // 初始态定义 var _oDialogCollections = {}; // ...

  7. jQuery面向对象的写法

    定义的写法 //构造函数 function test(){ //construct code } //初始化方法 test.prototype.init = function(){ //init co ...

  8. [转]jQuery插件写法总结以及面向对象方式写法

    本文转自:http://www.xuanfengge.com/jquery-plug-in-written-summary-and-summary-of-writing-object-oriented ...

  9. js中面向对象的写法

    function Circle(r){ this.r = r; }//构造(实例对象的)函数[思路二:这是一个类] Circle.PI = 3.14159; //属性 Circle.prototype ...

随机推荐

  1. html 空格字符类型

    1,Html中空格     不断行的空白(1个字符宽度)     半个空白(1个字符宽度)     一个空白(2个字符宽度)     窄空白(小于1个字符宽度) 2,Css 的方式空格 CSS中当 w ...

  2. Lock接口

    Lock与synchronized Lock和synchronized在功能上是一样的.不过Lock提供了一些其他功能,包括定时的锁等待.可中断的锁等待.公平性,以及实现非块结构的加锁. 从性能上Lo ...

  3. 在线画UML图的工具

    工作需要在线画各种UML图,类图.协作图.用例图等等,调查了一些在线画UML图的工具,有的做的很好但要收费,例如:http://www.gliffy.com/,发现现在免费好用的是ProcessOn: ...

  4. 从零开始学 Web 之 CSS3(一)CSS3概述,选择器

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  5. Java并发编程笔记之SimpleDateFormat源码分析

    SimpleDateFormat 是 Java 提供的一个格式化和解析日期的工具类,日常开发中应该经常会用到,但是由于它是线程不安全的,多线程公用一个 SimpleDateFormat 实例对日期进行 ...

  6. Mysql常用单词

    Create 建造,创造Data数据Database数据库(缩写db)If如果Not没有Exists存在Table表Drop 去掉Delete删除Show展示Select选择Default默认Uniq ...

  7. USB 驱动(监测鼠标左键的动作)

    (基于 Linux 3.4.2 内核) 可分为以下几个步骤来完成这个驱动: 1. 分配设置一个 usb_driver 结构体 2. 注册这个 usb_driver (如果设备的 id_table 与驱 ...

  8. 菜鸟入门【ASP.NET Core】2:部署到IIS

    配置IIS模块 ASP.NET Core Module载地址:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/asp ...

  9. 快速排序 java详解

    1.快速排序简介: 快速排序由C. A. R. Hoare在1962年提出.它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此 ...

  10. HDU4278

    Faulty Odometer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...