收集的几个不错的javascript类小例子

具体功能运行后看效果


添加f1添加f2添加f3

移除f1移除f2移除f3

function FunctionArray()
{
var functions=new Array();
var FA=function (){
for(var i=0;i

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

Function.prototype.concat = function()
{
var funcs = [this].concat(Array.apply([], arguments));

return function(){
var ret = [];
for(var i = 0; i

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

顺便贴上winter以前写的东西
winte有空的时候快来帮我加点注释 
我加不动了……

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

一个功能更强大的

新建网页 1

if(typeof asfman == "undefined") asfman = {};
//through below method dispath events should note:addEventListener's eventType should not conflict with method
asfman.onMethodExecute = function(obj,method,eventType,beforeMethod,evt)
{
var old = obj[method] || function(){};
evt = evt || {};
obj[method] = function()
{
evt.arguments = arguments;
beforeMethod && this.dispatchEvent(eventType,evt);
old.apply(this,arguments);
beforeMethod || this.dispatchEvent(eventType,evt);
}
}
asfman.EventManager = function()
{
this.dispatchEvent = function(eventType, eventArgs)
{
eventArgs = eventArgs || {};
var events = this["on"+eventType];
var called = 0;

if(events && typeof(events) == "function") events = [events];
if(!eventArgs.type) eventArgs.type = eventType;

if(events)
{
var len=events.length;
var capturer=events.capturer;
var capturerName=events.capturerName;
var evt;
for(var i=0;i

click on me

var obj1 = document.getElementById("test"),obj2 = document.getElementById("test2");
asfman.EventManager.call(obj1);
obj1.addEventListener("test",function(){obj2.innerText = " test ";});
obj1.addEventListener("test",function(){alert("test");});
asfman.onMethodExecute(obj1,"onclick","test");

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

(0)

相关推荐

  • JavaScript类和继承 constructor属性

    constructor属性始终指向创建当前对象的构造函数.比如下面例子:比如下面例子: 复制代码 代码如下: // 等价于 var foo = new Array(1, 56, 34, 12); var arr = [1, 56, 34, 12]; console.log(arr.constructor === Array); // true // 等价于 var foo = new Function(); var Foo = function() { }; console.log(Foo.co

  • 一个简单的javascript类定义例子

    复制代码 代码如下: <script> //定义一个javascript类 function JsClass(privateParam/* */,publicParam){//构造函数 var priMember = privateParam; //私有变量 this.pubMember = publicParam; //公共变量 //定义私有方法 function priMethod(){ return "priMethod()"; } //定义特权方法 //特权方法可以

  • JavaScript类和继承 this属性使用说明

    this属性表示当前对象,如果在全局作用范围内使用this,则指代当前页面对象window: 如果在函数中使用this,则this指代什么是根据运行时此函数在什么对象上被调用. 我们还可以使用apply和call两个全局方法来改变函数中this的具体指向. 先看一个在全局作用范围内使用this的例子: 复制代码 代码如下: <script type="text/javascript"> console.log(this === window); // true consol

  • javascript 图片轮换 函数化继承

    先看下前几天的动画是如何构造JS的: 复制代码 代码如下: var photo=function(){ var index=0,a,b,c,d; return { show:function(){}, auto:function(){} } } var aa=photo(); //基本上是 用return 返回了一些方法. // 1:无法初始化就执行 auto. // 2:在初始化的时候,我没办法把this指向aa. //上面两个问题,会很不方便. 1:我不愿意让自己去这洋写: 复制代码 代码如

  • jquery下组织javascript代码(js函数化)

    从神奇的"$"函数开始 "$"函数将在文档加载完成之后为一个指定的button 绑定事件,这些代码在单个网页中工作正常.但是如果我们还有其它的网页,我们将不得不重复这个过程. 复制代码 代码如下: <a href="javascript:;" id="sayHello">Say Hello</a> <script type="text/javascript"> //whe

  • 由浅到深了解JavaScript类第1/2页

    作者:泣红亭 整理日期:2004年6月15日 最近在无忧脚本混了一阵子,回复了一些贴子,自己却没有做出什么东东让大家看看,心里有些不安,于是写了下边的一点东西,本来应该发在类封装区的,考虑到那里比较冷,而这篇文章我希望能够帮助到更多的朋友,因此放到这里来了. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&

  • javascript 面向对象的JavaScript类

    在上一节面 JavaScript 面向对象之命名空间 中说了怎么定义JavaScript命名空间,这一节来说下紧接着的一个概念--类.虽然JavaScript中没有class关键字,但作为开发人员我们一定要有这个思想.在C#中类可以分为实例类和静态类,JavaScript亦然. 一,定义实例类: 在上节中我定义了一个cnblogs.news的命名空间,现在就在此命名空间下定义一个名为Article类: 复制代码 代码如下: cnblogs.news.Article=function(){ var

  • JavaScript类和继承 prototype属性

    我们已经在第一章中使用prototype属性模拟类和继承的实现. prototype属性本质上还是一个JavaScript对象. 并且每个函数都有一个默认的prototype属性. 如果这个函数被用在创建自定义对象的场景中,我们称这个函数为构造函数. 比如下面一个简单的场景: 复制代码 代码如下: // 构造函数 function Person(name) { this.name = name; } // 定义Person的原型,原型中的属性可以被自定义对象引用 Person.prototype

  • javascript基础知识分享之类与函数化

    1.对象适合于收集和管理数据,容易形成树型结构. Javascript包括一个原型链特性,允许对象继承另一对象的属性.正确的使用它能减少对象的初始化时间和内存消耗. 2.函数它们是javascript的基础模块单元,用于代码复用.信息隐藏和组合调用.函数用于指定对象的行为.一般来说,编程就是将一组需求分解成一组函数和数据结构的技能. 3.模块我们可以使用函数和闭包来构造模块.模块是一个提供接口却隐藏实现状态和实现的函数或对象. 1.自定义类型--构造函数模式(伪类模式) 在基于类的系统中,对象是

  • 收集的几个不错的javascript类小例子

    具体功能运行后看效果 添加f1添加f2添加f3 移除f1移除f2移除f3 function FunctionArray() { var functions=new Array(); var FA=function (){ for(var i=0;i [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] Function.prototype.concat = function() { var funcs = [this].concat(Array.apply([], arguments));

  • winform调用javascript的小例子

    复制代码 代码如下: <html>     <head>          <title></title>          <script type="text/javascript">          function ShowMessage(message)          {               alert(message);          }          function ShowWinForm

  • 非常不错的一个javascript 类

    非常不错的一个javascript 类 复制代码 代码如下: /*    *  Author:aoao  *    Homepage:http://www.loaoao.com  *  Email:loaoao@gmail.com / QQ:2222342  *  Copyright (c) 2006 aoao  *  Licensed under a Creative Commons Attribution 2.5 License (http://creativecommons.org/lic

  • javascript 类和命名空间的模拟代码

    先上一段最简单的: 复制代码 代码如下: // 以下几行代码展示了命名空间.类.以及函数的模拟定义和使用: NameSpace = {}; NameSpace.Class = function(){ this.Method = function(info){alert(info);} }; new NameSpace.Class().Method("Hello world"); 再来一些可见到的,各种情况的代码 1.类的模拟 复制代码 代码如下: // 类定义 function Cla

  • 在Javascript类中使用setTimeout第1/2页

    最近遇到了一道 Javascript 考题,内容如下: 尝试实现注释部分的 Javascript 代码,可在其他任何地方添加更多 代码(如不能实现,说明一下不能实现的原因): var Obj = function(msg){    this.msg = msg;    this.shout = function(){       alert(this.msg);    } this.waitAndShout = function(){       // 隔五秒钟后执行上面的 shout 方法  

  • 介绍一个简单的JavaScript类框架

    在写work-in-progress JavaScript book一书时,对于javascript继承体系,我花费了相当的时间,并在该过程中研究了各种不同的模拟经典类继承的方案.这些技术方案中,我最为推崇的是base2与Prototype的实现. 从这些方案中,应该能提炼出一个具有其思想内涵的框架,该框架须具有简单.可重用.易于理解并无依赖等特点,其中简单性与可用性是重点.以下是使用示例: var Person = Class. extend ( { init: function (isDan

  • JavaScript类继承及实例化的方法

    本文实例讲述了JavaScript类继承及实例化的方法.分享给大家供大家参考.具体如下: (function(){ var Class = { //扩展类 create: function(aBaseClass, aClassDefine){ var $class = function(){ for(var member in aClassDefine){ this[member] = aClassDefine[member]; } if('undefined'===typeof aClassD

  • JavaScript类属性的访问方式详解

    JavaScript类属性的访问方式 复制代码 代码如下: var fish = { head : 1, tail : 1, feature : { speak : false, swim : true } } 其一,点操作符: 复制代码 代码如下: console.log(fish.head);//1 console.log(fish.tail);//1 console.log(fish.feature);//Object { head:1, tail:1, feature: Object}

  • 极简主义法编写JavaScript类

    这个所谓的"极简主义法"是荷兰程序员Gabor de Mooij提出来的,这种方法不使用this和prototype,代码部署起来非常简单,这大概也是它被叫做"极简主义法"的原因.下面就介绍如何使用极简主义法完成JavaScript的封装和继承 1. 封装 首先,它也是用一个对象模拟"类".在这个类里面,定义一个构造函数createNew(),用来生成实例. var Cat = { createNew: function(){ // some c

随机推荐