虽然平常用jquery用的很熟,但是基本都是面向过程的写法。一个事件一个function,很少有面向对象的写法。今天得写一个日期控件,不得不用上面向对象编程。

刚开始我的想法是:

var datepicker = function(){
return new datepicker.fn.init();
} datepicker.fn = datepicker.prototype={
constructor:datepicker,
init:function(){ }
} datepicker.fn.init.prototype = datepicker.fn; datepicker.extend = datepicker.fn.extend = function(){};

//静态方法
datepicker.extend({
createHtml:function(){
}
});

嗯,你没看错,就是仿照Jquery的写法。

但是,事实上,还是我学艺不精,extend里的方法根本无法继承。

这种写法的本意是将extend里的静态方法当成参数,传到extend方法里,然后根据具体的方法名返回相应的function。

而我写的代码里根本就忽略了extend方法,以为只要是一个空的function就可以了。

关于jquery的核心代码以及框架,还是看一下链接吧:

http://nuysoft.iteye.com/blog/1182087

所以我还是老老实实的用普通的prototype方法写吧。

var datePicker = function(){
this.init();
}

// 静态方法
datePicker.prototype = {
init:function(){
alert(11111);
}
};

其实这种写法,也能够将多个静态方法封装起来,当成一个json对象,挂载到prototype里。

然后在创建对象的时候,就可以直接利用this来调用了。

javascript 面向对象编程小记的更多相关文章

  1. JavaScript面向对象编程学习笔记

    1  Javascript 面向对象编程 所谓"构造函数",其实就是一个普通函数,但是内部使用了this变量.对构造函数使用new运算符,就能生成实例,并且this变量会绑定在实例 ...

  2. 快速学习JavaScript面向对象编程

    到处都是属性.方法,代码极其难懂,天哪,我的程序员,你究竟在做什么?仔细看看这篇指南,让我们一起写出优雅的面向对象的JavaScript代码吧! 作为一个开发者,能否写出优雅的代码对于你的职业生涯至关 ...

  3. 深入理解Javascript面向对象编程

    深入理解Javascript面向对象编程 阅读目录 一:理解构造函数原型(prototype)机制 二:理解原型域链的概念 三:理解原型继承机制 四:理解使用类继承(继承的更好的方案) 五:建议使用封 ...

  4. 【转】Javascript 面向对象编程(一):封装

    原文链接:http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_encapsulation.html Javascript ...

  5. Javascript 面向对象编程(一):封装 by 阮一峰

    <Javascript高级程序设计(第二版)>(Professional JavaScript for Web Developers, 2nd Edition) 它们都是非常优秀的Java ...

  6. 转:javascript面向对象编程

    作者: 阮一峰 日期: 2010年5月17日 学习Javascript,最难的地方是什么? 我觉得,Object(对象)最难.因为Javascript的Object模型很独特,和其他语言都不一样,初学 ...

  7. 探讨javascript面向对象编程

    (个人blog迁移文章.) 前言: 下面将探讨javascript面向对象编程的知识. 请不要刻意把javascript想成面向对象编程是理所当然的. javascript里面,对象思想不可少,但是不 ...

  8. JavaScript面向对象编程(一)原型与继承

    原型(prototype) JavaScript是通过原型(prototype)进行对象之间的继承.当一个对象A继承自另外一个对象B后,A就拥有了B中定义的属性,而B就成为了A的原型.JavaScri ...

  9. JavaScript面向对象编程(二)构造函数和类

    new关键字和构造函数 在文章JavaScript面向对象编程(一)原型与继承中讨论啦JavaScript中原型的概念,并且提到了new关键字和构造函数.利用new关键字构造对象的实例代码如下: // ...

随机推荐

  1. java读取文件

       一个字节一个字节地读取                  File file =          InputStream inputStream =                       ...

  2. 2 DelayInterval延时间隔类——Live555源码阅读(一)基本组件类

    这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 这里是时间相关类的第二个部分. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnb ...

  3. 报错:No package erlang available

    问题 yum install erlang 报错:No package erlang available 同样的,如果我们在安装nginx的时候出现"No package nginx ava ...

  4. 多节点 devstack 部署

    1, 网络配置 每个节点 /etc/network/interfaces auto eth0 iface eth0 inet static address 192.168.42.11 netmask ...

  5. centos 7 python2.7.5升级到3.5.2

    centos 7 python2.7.5升级到3.5.2 下载python3.5.2 wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2 ...

  6. ios 在storyboard 和 xib中,显示自定义view的预览效果

    发现FSCalendar这个控件能在xib中显示预览效果,是怎么实现的呢?其中涉及的知识又有哪些? 主要就是IBInspectable 和 IB_DESIGNABLE 先看 IBInspectable ...

  7. angular.js初探

    2015年7月27日 22:26:35 星期一 用在我论坛里的小栗子: 先列出来一级回帖, 点击帖子前边的"查看回复"按钮无刷新的去请求该帖子的所有回复 首先要引用js文件, 我这 ...

  8. VS2010调试速度很慢

    1.使用vs2010,感觉速度越来越慢.重新设置了vs2010的环境(在vs2010命令提示符下,执行devenv.exe /resetuserdata),居然解决了这个问题,速度跑的很好.网上有人说 ...

  9. vs2013 控制台程序exe图标

    工程右击选择添加resource->Icon. 在工程目录就会生成  工程名.rc 和 XX.ico文件. 重新编译程序,就会生成有图标的exe. 对应的配置在  工程名.rc  文件里,用记事 ...

  10. java web 学习 --第九天(Java三级考试)

    第八天的学习内容如下:http://www.cnblogs.com/tobecrazy/p/3468458.html Java servlet 技术 Servlet是使用java servlet应用程 ...