s面向对象的写法
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面向对象的写法的更多相关文章
- javascript面向对象的写法及jQuery面向对象的写法
文章由来:jQuery源码学习时的总结 在JS中,一般的面向对象的写法如下: function Cao(){}//定义一个构造函数 Cao.prototype.init = function(){}/ ...
- javascript面向对象的写法03
javascript面向对象的写法03 js一些基础知识的说明 prototype 首先每个js函数(类)都有一个prototype的属性,函数是类.注意类有prototype,而普通对象没有. js ...
- AS3.0面向对象的写法,类和实例
package /*package是包路径,例如AS文件在ActionScript文件夹下,此时路径应为package ActionScript.必须有的.package中只能有一个class,在一个 ...
- javascript面向对象的写法02
面向对象特性的初步实现 1.封装 利用作用域封装变量 作用域的概念是一样的,for语句,if语句等这些作用域内定义的变量只能作用域内访问,函数内定义的变量只能函数内访问. function Class ...
- javascript面向对象的写法01
类和对象 其他面向对象的语言类的语法是内置的,自然而然的事.javascript中有对象,但没有类的语法,类的实现需要模拟出来. 只需要把对象想成一个容器,里面存放一些属性或方法,把类想象成一个对象的 ...
- jQuery插件写法总结以及面向对象方式写法总结
前两个是jQuery插件,后面2个是以对象的形式开发,都类似. 写法一 (function($, window){ // 初始态定义 var _oDialogCollections = {}; // ...
- jQuery面向对象的写法
定义的写法 //构造函数 function test(){ //construct code } //初始化方法 test.prototype.init = function(){ //init co ...
- [转]jQuery插件写法总结以及面向对象方式写法
本文转自:http://www.xuanfengge.com/jquery-plug-in-written-summary-and-summary-of-writing-object-oriented ...
- js中面向对象的写法
function Circle(r){ this.r = r; }//构造(实例对象的)函数[思路二:这是一个类] Circle.PI = 3.14159; //属性 Circle.prototype ...
随机推荐
- GraphX之Pregel(BSP模型-消息传递机制)学习
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreem ...
- mysql 开发进阶篇系列 23 应用层优化与查询缓存
一.概述 前面章节介绍了很多数据库的优化措施,但在实际生产环境中,由于数据库服务器本身的性能局限,就必须要对前台的应用来进行优化,使得前台访问数据库的压力能够减到最小. 1. 使用连接池 对于访问数据 ...
- tls1.2 rfc5246
注:本文省略了部分开发协议才涉及到的内容,如字段类型的定义以及字段长度的运算,主要聚焦理解tls协议的运作方式,用于问题定位 tls协议包含2层协议:TLS Record 协议和TLS Handsha ...
- 使用配置文件自定义Ribbon配置
1.application.yml——Ribbon配置文件 debug: false spring: application: name: mcc-ribbon-properties cloud: c ...
- Python 3 进阶 —— print 打印和输出
在 Python 中,print 可以打印所有变量数据,包括自定义类型. 在 2.x 版本中,print 是个语句,但在 3.x 中却是个内置函数,并且拥有更丰富的功能. 参数选项 可以用 help( ...
- SSH原理和应用
SSH(Secure SHell)是为远程登录, 远程通信等设计的安全通信协议, 由芬兰研究员于1995年提出,其目的是用于替代非安全的Telnet.rsh.rexec等不安全的远程Shell协议. ...
- C++ 日期 & 时间
C++ 标准库没有提供所谓的日期类型.C++ 继承了 C 语言用于日期和时间操作的结构和函数. 为了使用日期和时间相关的函数和结构,需要在 C++ 程序中引用 头文件. 有四个与时间相关的类型:clo ...
- 深入浅出 JVM GC(3)
# 前言 在 深入浅出 JVM GC(2) 中,我们介绍了一些 GC 算法,GC 名词,同时也留下了一个问题,就是每个 GC 收集器的具体作用.有哪些 GC 收集器呢? Serial 串行收集器(只适 ...
- 【Quartz】问题记录注意事项【四】
记录一:queartz 在同时启动多个任务是,触发器名称不能设置一致,不然第二次启动会不成功 记录二:quartz 在使用任务与触发器分离写法时,任务必须要带(.StoreDurably()) IJo ...
- Flume参数小结
名词解释: 1.netcat:通过网络端口获取数据,source的实现类 2.logger:将数据显示到控制台,sink的实现类 3.memory: ,channel的实现类 4.capacity:是 ...