
收集的几个不错的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需刷新才能执行]
相关推荐
-
一个简单的javascript类定义例子
复制代码 代码如下: <script> //定义一个javascript类 function JsClass(privateParam/* */,publicParam){//构造函数 var priMember = privateParam; //私有变量 this.pubMember = publicParam; //公共变量 //定义私有方法 function priMethod(){ return "priMethod()"; } //定义特权方法 //特权方法可以
-
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:我不愿意让自己去这洋写: 复制代码 代码如
-
JavaScript类和继承 this属性使用说明
this属性表示当前对象,如果在全局作用范围内使用this,则指代当前页面对象window: 如果在函数中使用this,则this指代什么是根据运行时此函数在什么对象上被调用. 我们还可以使用apply和call两个全局方法来改变函数中this的具体指向. 先看一个在全局作用范围内使用this的例子: 复制代码 代码如下: <script type="text/javascript"> console.log(this === window); // true consol
-
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 面向对象的JavaScript类
在上一节面 JavaScript 面向对象之命名空间 中说了怎么定义JavaScript命名空间,这一节来说下紧接着的一个概念--类.虽然JavaScript中没有class关键字,但作为开发人员我们一定要有这个思想.在C#中类可以分为实例类和静态类,JavaScript亦然. 一,定义实例类: 在上节中我定义了一个cnblogs.news的命名空间,现在就在此命名空间下定义一个名为Article类: 复制代码 代码如下: cnblogs.news.Article=function(){ var
-
jquery下组织javascript代码(js函数化)
从神奇的"$"函数开始 "$"函数将在文档加载完成之后为一个指定的button 绑定事件,这些代码在单个网页中工作正常.但是如果我们还有其它的网页,我们将不得不重复这个过程. 复制代码 代码如下: <a href="javascript:;" id="sayHello">Say Hello</a> <script type="text/javascript"> //whe
-
JavaScript类和继承 prototype属性
我们已经在第一章中使用prototype属性模拟类和继承的实现. prototype属性本质上还是一个JavaScript对象. 并且每个函数都有一个默认的prototype属性. 如果这个函数被用在创建自定义对象的场景中,我们称这个函数为构造函数. 比如下面一个简单的场景: 复制代码 代码如下: // 构造函数 function Person(name) { this.name = name; } // 定义Person的原型,原型中的属性可以被自定义对象引用 Person.prototype
-
javascript基础知识分享之类与函数化
1.对象适合于收集和管理数据,容易形成树型结构. Javascript包括一个原型链特性,允许对象继承另一对象的属性.正确的使用它能减少对象的初始化时间和内存消耗. 2.函数它们是javascript的基础模块单元,用于代码复用.信息隐藏和组合调用.函数用于指定对象的行为.一般来说,编程就是将一组需求分解成一组函数和数据结构的技能. 3.模块我们可以使用函数和闭包来构造模块.模块是一个提供接口却隐藏实现状态和实现的函数或对象. 1.自定义类型--构造函数模式(伪类模式) 在基于类的系统中,对象是
-
由浅到深了解JavaScript类第1/2页
作者:泣红亭 整理日期:2004年6月15日 最近在无忧脚本混了一阵子,回复了一些贴子,自己却没有做出什么东东让大家看看,心里有些不安,于是写了下边的一点东西,本来应该发在类封装区的,考虑到那里比较冷,而这篇文章我希望能够帮助到更多的朋友,因此放到这里来了. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&
-
收集的几个不错的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
随机推荐
- JavaScript 正则表达式之RegExp属性、方法及应用分析
- xml中的空格之完全解说
- Lua中的metatable介绍
- 在Linux和Windows系统上安装Nginx服务器的教程
- js简单时间比较的方法
- Angularjs中的ui-bootstrap的使用教程
- php中$_REQUEST、$_POST、$_GET的区别和联系小结
- php面向对象的方法重载两种版本比较
- php HTML无刷新提交表单
- python 数据加密代码
- 我为什么喜欢Go语言(简洁的Go语言)
- MySQL5.6 Replication主从复制(读写分离) 配置完整版
- Shell脚本实现启动PHP内置FastCGI Server
- JavaScript中浅讲ajax图文详解
- PowerShell查看进程的所属用户
- jQuery自制提示框tooltip改进版
- JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
- 关于时间计算的结总
- JS中setTimeout和setInterval的最大延时值详解
- 详解C语言 三大循环 四大跳转 和判断语句
其他
- centos7.5 安装mysql
- vue组件循环引用问题
- idea无法创建多级包
- android 菊花圈
- springboot中拦截器中获取访问地址
- layui复选框默认值
- 在openstack中,swift组件功能有
- 流操作取出map中的value
- intellij idea中如何查看源文件
- navicat连接pg数据库连接超时
- python怎么将打包exe程序注册环境变量
- $post 单次同步
- WordPress 作者可以自定义
- java根据参数路由到不同的处理类
- NPOI 基于模板导出excel 打开为选中状态
- nprogress不起效果
- springboot yml处理数字
- python飞机大战游戏代码
- springboot camunda 详细配置
- vue2.0 配置dist文件目录