论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Javascript教程
Tag:验证,特效,入门,实例,验证,表单,特效,正则表达式,跑马灯,document,函数,代码,getElementByID,菜单,图片,视频教程

JS面向对象的私有成员-变量实现方式

文章类别:Javascript | 发表日期:2012-3-3 10:00:53



         与网上广为流传的特权方法有所不同,这里是使用闭包来实现的。并以一个简单的JS时钟示例作为演示。


各位如果觉得有什么不妥的地方欢迎指出。

代码
(function JSClock(){
//partial class JSClock {                 
    var _timeID = null;

var _timeRunning = false;
    var _info;
    var _this;
    //构造函数
    function JSClock(elementId) {
        _this = this;
       _info =  document.getElementById(elementId);
    }
    JSClock.PRototype.getDateTime = function(){};//因为具体显示需求不同所以没实现
    JSClock.prototype.run = function() {
       var now = {};
       var tick = new Date();
       now.hours = tick.getHours();
       now.minutes = tick.getMinutes();
       now.seconds = tick.getSeconds();
       now.day = tick.getDay();
       now.month = tick.getMonth()+1;
       now.date = tick.getDate();
       now.year = tick.getYear();
       if (now.year < 1000) now.year += 1900;
       _timeRunning = true;
       _info.innerHTML = _this.getDateTime(now);
       _timeID = setTimeout(arguments.callee,1000);
    };
   
    JSClock.prototype.stop = function(){
        if(!_timeRunning)return
        clearTimeout(_timeID);
        _timeRunning = false;
    };
//}
    window.JSClock = JSClock;
})();


//partial class JSClock{
    //virtual
    JSClock.prototype.getDateTime = function(now){
       var current,weekday;
       current = now.year + "年" + now.month + "月" + now.date + "日 " + ((now.hours >12) ? now.hours -12 :now.hours);
       current += ((now.minutes < 10) ? ":0" : ":") + now.minutes;
       current += ((now.seconds < 10) ? ":0" : ":") + now.seconds;
       current += (now.hours >= 12) ? " (下午)" : " (上午)";
       if(now.day==0) weekday = " 星期日";
       if(now.day==1) weekday = " 星期一";
       if(now.day==2) weekday = " 星期二";
       if(now.day==3) weekday = " 星期三";
       if(now.day==4) weekday = " 星期四";
       if(now.day==5) weekday = " 星期五";
       if(now.day==6) weekday = " 星期六";
       current += weekday;
       return current;
    };
//}


//测试
var time = new JSClock("test");
time.run();
//运行结果会在ID为test的元素中实时显示当前时间格式如:

//2010年2月6日 0:13:53 (上午) 星期六

-

 

 

视频教程列表
文章教程搜索
 
Javascript推荐教程
Javascript热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058