`
fregen
  • 浏览: 4426 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

一个自定义的javascript类系统

阅读更多

代码如下:

(function(w){

var $ = w.$ = w.$||{};

var F = function (){};

$.base = function (o){
   F.prototype = o;
   return new F();
};

//这个就是蝴蝶书中的Object.beget

 

//

$.def = function(p,base){

    var s = p

    if(base instanseOf Function)

        s = $.base(base.prototype)

    else if(base instanseOf Object)

        s = $.base(base)

    if(s != p){

        for(var v in p)

            s[v] = p[v]

    }

    var f = function(){

        var t = this

        if(t === window || t === null){

            t = $.base(s)

        }

        return p.init.apply(t,arguments)

    };

    f.fn = f.prototype = s

    f.fn.constructor = f

    return f

};

})(window);

介 绍:

1.$.base(o)返回以o为原型的对象。

2.$.def(p,base)定义一个“类”(实际是返回一个 函数),p为其原型(必须有init方法作为构造函数),base为“父类”(可为构造函数或普通对象)。

3.实例化类似于Jquery,不需要 new。
4.完全兼容原生系统,“类”可以作为普通的构造函数,用new实例化,也可以用call,apply调用。
5.prototype 有fn的别名,和Jquery一样。
6.自动设定constructor。

0
0
分享到:
评论

相关推荐

    自定义JS类框架

    通过以上这些技术,开发者可以构建出一个功能丰富、易于理解和维护的自定义JS类框架。这样的框架可以帮助开发人员快速开发项目,同时保持代码结构清晰,减少代码重复。在JS Frame这个压缩包中,可能包含了实现这些...

    使用javascript实时显示系统当前时间

    2. **外部脚本文件**:将JavaScript代码保存在一个单独的`.js`文件中,通过`<script type="text/javascript" src="dateJS.js">`标签引入到JSP页面中。这种方式有利于代码的复用和管理,尤其是在大型项目中。 #### ...

    一种基于Web和JavaScript技术的火电厂拖拽式自定义报表系统.pdf

    【标题】介绍的是一个基于Web和JavaScript技术的火电厂拖拽式自定义报表系统,它旨在解决火电厂对于生产报表的复杂多变需求。该系统采用Browser/Server(B/S)三层架构,允许用户通过浏览器生成报表,提升了交互性和...

    JavaScript_一个完整的指南3DS自定义固件从库存到引导.zip

    在给定的压缩包文件"JavaScript_一个完整的指南3DS自定义固件从库存到引导.zip"中,我们可以推测这是一个关于3DS游戏机自定义固件的教程,可能涉及JavaScript在嵌入式系统或游戏机中的应用。3DS自定义固件通常是玩家...

    Arcgis for javascript 加载天地图及自定义图

    这段代码会创建一个天地图的瓦片图层并将其添加到地图对象中,其中"你的天地图密钥"需要替换为实际获取的天地图API密钥。 接下来,我们讨论如何在地图上添加自定义图层。自定义图层通常来源于本地或远程的数据源,...

    很不错的javascript实现的自定义二级菜单

    通常,一级菜单会有一个特殊的类或者ID,而二级菜单则作为子元素隐藏,通过JavaScript来控制其显示和隐藏。 学习这个经典案例,开发者不仅可以掌握创建二级菜单的基本技巧,还能进一步提升对JavaScript事件处理、...

    基于JavaScript的可视化流程自定义设计器

    在基于JavaScript的可视化流程设计器中,流程可以被分解为各个独立的节点,每个节点代表一个操作或者决策点。用户可以设定节点间的依赖关系,以定义流程的顺序和条件。这种灵活性使得流程设计器能适应各种应用场景,...

    Javascript自定义菜单插件

    你可以定义一个Menu类,包含创建、显示、隐藏等方法,以及Item类来表示每个菜单项。 5. **动画效果**:为了提升用户体验,自定义菜单通常会包含过渡动画,如淡入淡出、滑动等。这些效果可以通过CSS3动画或...

    Calendar一个自定义灵活的日历选择器

    综上所述,"Calendar"日历选择器是一个强大的工具,适用于需要高度定制和交互性的日期选择场景。通过JavaScript的灵活性和丰富的自定义选项,开发者可以轻松地将其整合到项目中,提升用户体验。同时,源代码的开放性...

    一个ReactNative自定义键盘插件

    React Native 是一个由Facebook开发的开源框架,它允许开发者使用JavaScript和React的组件化思想来构建原生的iOS和Android应用程序。在这个特定的场景中,我们讨论的是一个React Native的自定义键盘插件,这对于创建...

    javaScript自定义树形工具

    1. 数据结构设计:首先,定义一个表示树节点的数据结构,如JavaScript对象,包括节点ID、文本、子节点数组、以及其他自定义属性(例如图标、颜色等)。 2. 渲染与布局:利用DOM操作,根据节点数据生成HTML结构。这...

    java自定义表单系统

    通过以上这些知识点的整合,Java自定义表单系统能够为开发者提供一个高效、灵活的平台,以满足各种业务场景下的表单需求。而压缩包中的"cases"文件可能是包含实际示例或测试用例,供开发者参考和学习。

    JavaScript自定义事件的创建与应用:深入指南

    自定义事件是JavaScript中一个强大的功能,它允许开发者创建灵活且功能丰富的事件系统。通过本文的介绍,你应该对如何在JavaScript中创建和使用自定义事件有了深入的理解。记住,合理地使用自定义事件可以显著提升你...

    自定义plugin插件实现phonegap与Android交互

    你需要在这个类中定义方法,这些方法将与JavaScript的对应函数相对应。 2. **实现Plugin方法**:在Java类中,你需要为每个方法实现具体的功能。这些方法通常会调用Android SDK提供的API来访问设备功能或执行特定...

    JavaScript 基本语法 高级语法 自定义函数下载

    3. **原型与原型链**:JavaScript的继承基于原型,每个对象都有一个`__proto__`属性,形成一个链接的原型链。 4. **模块系统**:ES6引入了模块系统,通过`import`和`export`关键字实现模块的导入和导出。 5. **...

    JavaScript自定义聚散显示数量

    “自定义聚散显示数量”是3D地图渲染中的一个重要概念,它涉及到大数据量地理数据的高效展示。在地理信息系统中,特别是在处理大量点状数据(如建筑物、车辆位置等)时,直接显示所有数据可能会导致画面过于拥挤,...

    一个基于原生JavaScript开发的简单自定义滑动插件mobilescroll

    "一个基于原生JavaScript开发的简单自定义滑动插件mobilescroll" 指的是一款专门用于移动端网页的滑动效果插件,它完全使用JavaScript的原生语法编写,无需依赖其他库如jQuery。"mobile scroll"是针对手机或平板等...

    自定义报表程序源代码

    总的来说,这个"自定义报表程序源代码"是一个宝贵的教育资源,可以帮助开发者深入理解报表系统的工作原理,提高开发自定义报表应用的能力。通过学习源代码,可以提升数据处理、前端展示和用户体验设计等多个方面的...

    获取JavaScript用户自定义类的类名称的代码

    我们知道,虽然JavaScript是基于对象(object-...我们并没有办法使用脚本系统中的typeof方法获取自定义类的类型,比如’类’JSClass定义如下: function JSClass() { this.Attribute1 = null; this.Attribute2\u00a0=

    JavaScript影视APP系统源码.zip

    集合vip影视接口到一个android app中 方便观看各平台影视资源及直播,,无后台,调用接口同步api解析网址和直接自定义设置的方式设置api解析网址,方便自由.JavaScript影视APP系统源码,集合vip影视接口到一个android ...

Global site tag (gtag.js) - Google Analytics