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. 如何才能够系统地学习Java并发技术?

    微信公众号[Java技术江湖]一位阿里Java工程师的技术小站 Java并发编程一直是Java程序员必须懂但又是很难懂的技术内容. 这里不仅仅是指使用简单的多线程编程,或者使用juc的某个类.当然这些 ...

  2. 记录一个简单的dbcp数据连接池

    这个示例用到了ThreadLocal与dbcp,我觉得有点意思,就整理了下.使用dbcp,肯定要导入commons-dbcp.jar包.下面直接贴DBUtil代码: public class DBUt ...

  3. 记录前台页面一些jQuery笔记

    不知不觉工作两个月了,在这两个月,我成长很快学的很多,刚开始的时候,很多问题不懂,很多技术不会,当然作为实习阶段,很多不会的问题我都会去请教别人,在这里得感谢那些帮助我的人,但是经常去问别人问题,首先 ...

  4. Postman接口测试_添加断言

    1.设置环境变量 postman.setEnvironmentVariable("key", "value");  例子: postman.setEnviron ...

  5. windows7安装flask-mysqldb遇到的坑

    最近在windows环境上搭建flask使用环境,遇到过很多坑,这次就记录下安装flask-mysqldb所遇到的坑. 正常逻辑是使用pip install flask-mysqldb进行安装.但是会 ...

  6. Nginx反代Mogilefs分布式储存示例

    一.分布式存储系统简介 随着信息技术不断的发展,给我们带来便利的同时,不断增加的数据量级.信息之间的连接关联越来越复杂.数据访问的并发量日益增加对I/O的要求越来越高.数据类型越来越复杂等难题也成为信 ...

  7. ServerSocket和Socket

    前言 用ServerSocket和Socket做了个Server.Client通信的demo,以及学习下在这个demo过程中用到java.net.java.io包下几个常用的类. Server imp ...

  8. Spring MVC 学习总结(十)——Spring+Spring MVC+MyBatis框架集成(IntelliJ IDEA SSM集成)

    与SSH(Struts/Spring/Hibernate/)一样,Spring+SpringMVC+MyBatis也有一个简称SSM,Spring实现业务对象管理,Spring MVC负责请求的转发和 ...

  9. 强烈推荐:240多个jQuery插件

    概述 jQuery 是继 prototype 之后又一个优秀的 Javascript 框架.其宗旨是—写更少的代码,做更多的事情.它是轻量级的 js 库(压缩后只有21k) ,这是其它的 js 库所不 ...

  10. JQuery遍历,find()和each()方法

    find()方法 jquery选择器非常强大,利用css的命名规约,可以更快更方便的找出想要的元素. 比如: $("#id") $("#"+"id&q ...