JS实现继承和组件

prototype实现组件:

View Code
 1 (function () {
 2             var sss = function (param) {
 3                 this._init.call(this, param);
 4             };
 5             sss.prototype = {
 6                 _init: function (param) { alert(param.id); this._param = param; this.callback = param.fncall; },
 7                 play: function () { this.callback(); }
 8             };
 9             window.sss = sss;
10         })()
11         $(document).ready(function () {
12             var rrr = new sss({ id: "222", fncall: callback });
13             rrr.play();
14         });
15         function callback()
16         {
17             alert("callback");
18         }

 

而jQuery.widget实现如下:

 

View Code
 1 (function ($) {
2 $.person=
3 {
4   2B:"2B青年",
5
6   普通:"普通青年",
7
8   文艺:"文艺青年"
9 };
10 $.widget("person.2B", {
11 options:
12 {
13 id:0,
14 ****
15 },
16 //Jq自带init函数,初始化时自动调用
17 _init: function () {
18 2B也是需要初始化的。
19
20 },
21 _2B领域对象所有操作。
22 2B对外开放的方法。
23 //自己看着办
24 callback:function(param){}
25 });
26 })(jQuery);

 

实现2B之后突然有点后悔,想通过实现青年的继承来实现2B。

重新设计后实现如下:

基类

View Code
 1 //普通boy
2 (function($){
3 $.person=
4 {
5    2B:"2Bboy",
6    普通:"普通boy",
7    文艺:"文艺boy"
8 };
9 $.widget("boy",
10 {
11 //以下俩玩意是自带的,其实还有...
12 option:
13 {
14 haveGirlFriend:false,
15 skill:null,
16 ...
17 },
18 init:function(){
19
20 },
21 _泡妞:function(){
22 各种技能展示;
23 成功,
24 更新option,
25 提交服务器保存各种泡妞经验值
26 },
27 被泡:function(){
28 被人泡了之后更新各种状态。
29 }
30 各种接口如上;
31 });
32 })(jQuery);

调用方式:

View Code
 1 $(function () {
2 //初始化
3 $("#sss").boy({
4 haveGirlFriend:false,
5 skill:"秒杀"
6 });
7 $("#eeee").click($.proxy(eeeClick,this));
8
9 function eeeClick(){
10 alert($("#sss").boy("被泡"));
11 };
12 });

 

2Bboy:

View Code
 1 //2Bboy :集成自boy组件
2 $.boy.2B = $.boy.extend({
3 //2B特有特别初始化
4 _init:function(){
5 //先初始化boy共有的操作
6 this.base();
7 //2B特有的
8 //...
9 },
10 //各种2B操作
11 });


 1 (function($){
2 $.person=
3 {
4    2B:"2Bboy",
5    普通:"普通boy",
6    文艺:"文艺boy"
7 };
8 $.widget("boy",
9 {
10 //以下俩玩意是自带的,其实还有...
11 option:
12 {
13 haveGirlFriend:false,
14 skill:null,
15 ...
16 },
17 init:function(){
18
19 },
20 _泡妞:function(){
21 各种技能展示;
22 成功,
23 更新option,
24 提交服务器保存各种泡妞经验值
25 },
26 被泡:function(){
27 被人泡了之后更新各种状态。
28 返回被泡成功后的提示
29 }
30 各种接口如上;
31 });
32 })(jQuery);



 

 



 

转载于:https://www.cnblogs.com/javen_lin/archive/2012/02/09/2344503.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<p><fontface>本程序基于新云网站管理系统V3.0.0.610修改美化,适合做文章、新闻、信息类综合网站,含6条采集规则,可自动抓取信息,因压缩包大小问题,删除生成的内容网页和文中图片,其余数据完整。</font></p> <p><fontface>采用新云系统成熟、稳定地技术ASP+Access/SQL修改而成,通过它,您可以很方便地管理自己网站。</font></p> <p><fontface>修改者声明:你可以任意修改程序,请保留我一个友情链接。 链接地址:http://www.ipaoniu.com/</font></p> <p><fontface>功能特点如下:(来自新云的官方说明)</font></p> <p><fontface>多频道管理,无限制频道克隆,支持频道二级域名绑定功能,文章内容自动分页;</font></p> <p><fontface>全站生成HTML页面;增加系统安全性,自由设置生成HTML文件扩展名和存放目录,内容自动分页。</font></p> <p><fontface>用户管理,多用户管理分权限发布、管理软件信息;用户短信、收藏功能,会员在线充值,网银在线支付;</font></p> <p><fontface>下载模块,支持计点会员和包月会员下载,反点等功能,无限制添加下载服务器,下载点数设置,添加软件只需要填写软件名称;</font></p> <p><fontface>强大的文章、软件采集功能,文章采集的同时可以选择是否下载图片到本地及分页采集; 其它模块,留言、友情连接自助申请,上传水印,内容关键字功能。</font></p> <p><fontface>后台登陆地址:/admin/admin_login.asp 默认管理员:admin 密码:ipaoniu</font></p>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值