`
zzc1684
  • 浏览: 1228618 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

util-events.js

阅读更多
/**
* util-events.js - The minimal events support
*/
 
var events = data.events = {}
 
// Bind event
seajs.on = function(name, callback) {
  var list = events[name] || (events[name] = [])
  list.push(callback)
  return seajs
}
 
// Remove event. If `callback` is undefined, remove all callbacks for the
// event. If `event` and `callback` are both undefined, remove all callbacks
// for all events
seajs.off = function(name, callback) {
  // Remove *all* events
  if (!(name || callback)) {
    events = data.events = {}
    return seajs
  }
 
  var list = events[name]
  if (list) {
    if (callback) {
      for (var i = list.length - 1; i >= 0; i--) {
        if (list[i] === callback) {
          list.splice(i, 1)
        }
      }
    }
    else {
      delete events[name]
    }
  }
 
  return seajs
}
 
// Emit event, firing all bound callbacks. Callbacks receive the same
// arguments as `emit` does, apart from the event name
var emit = seajs.emit = function(name, data) {
  var list = events[name], fn
 
  if (list) {
    // Copy callback lists to prevent modification
    list = list.slice()
 
    // Execute event callbacks, use index because it's the faster.
    for(var i = 0, len = list.length; i < len; i++) {
      list[i](data)
    }
  }
 
  return seajs
}
分享到:
评论

相关推荐

    nodejs手册中文版.pdf

    Node.js是一门用于构建高性能网络服务器和网络应用的JavaScript运行环境。它将JavaScript代码运行在服务器端,并为开发者提供了丰富的API。本文将对Node.js手册中文版中提及的几个核心知识点进行详细阐述。 1. 全局...

    dojo-release-1.3.2-srcB.7z

    Dojo是一个强大的面向对象JavaScript框架。主要由三大模块组成:Core、Dijit、DojoX。Core提供Ajax,events,packaging,CSS-based querying,animations,JSON等相关操作API。Dijit是一个可更换皮肤,基于模板的WEB UI...

    udemy-node.js-fundamentals:Udemy的Node.js基础课程的实验室

    3. **Node.js核心模块**:理解并使用内置模块,如`fs`(文件系统)模块用于读写文件,`http`和`https`模块用于创建服务器,`path`模块用于处理路径,还有`util`和`events`模块等。 4. **npm和模块化**:了解npm的...

    node-util:node.js util模块作为模块

    如果您的Node.js代码运行, util是内置的。如果在浏览器中运行代码,比如捆扎机或还包括util模块。 但是,如果这些都不适用,请使用npm执行: npm install util 用法 var util = require ( 'util' ) var ...

    javascriptYUI.pdf

    JavaScript YUI库是一个强大的JavaScript工具集,主要用于构建复杂的Web应用程序。它包含了许多功能,如事件处理、DOM操作、动画效果、Ajax通信等。以下是一些关键知识点的详细说明: 1. **事件处理**: - `event....

    d3-chart-lib

    component.js -&gt; util.js -&gt; extend.js ##模块概要 main是组件库的种子模块,定义了命名空间和find函数 core提供组件库的核心接口,如init、changeData dom模块负责解析页面的chart标签及子标签 http模块负责ajax等...

    node.js v0.5.7官方API文档

    - `events.EventEmitter`是Node.js中事件机制的核心类。 3. **缓冲区操作**: - `Buffer`对象用于处理二进制数据,提供了丰富的操作方法。 #### 五、附加知识点 1. **包管理器提示**: - 提供了一些关于如何...

    javascriptYUI基础知识.pdf

    - `document.captureEvents(Event.KEYDOWN)`:捕获指定类型的事件。 - `document.all`:在IE中访问所有HTML元素,但不是标准方法。 - `document.createElement`:创建新的HTML元素。 - `document....

    33-util (实用工具).pdf

    `util`模块还提供了多种类型检查的辅助函数,如`util.isArray()`、`util.isBoolean()`、`util.isBuffer()`、`util.isDate()`、`util.isError()`、`util.isFunction()`、`util.isNull()`、`util.isNullOrUndefined()...

    fixjs-0.3.0

    --新增功能:新增全局函数fixjs.util.getPageSize --新增功能:新增类fixjs.display.Stage --新增功能:新增类fixjs.display.Sprite --新增功能:事件注册支持caller参数,派发时设置caller值 --新增功能:事件支持...

    node.js中的events.emitter.once方法使用说明

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它让 JavaScript 能够运行在服务器端。Node.js 应用程序是事件驱动的,而 events 模块则是 Node.js 中用于处理事件的核心模块。events 模块的主要功能...

    tomcat8 + nginx + memcached + cas 实现负载均衡的配置包

    events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_...

    node.js api

    Node.js API是JavaScript的运行环境Node.js的核心部分,它提供了一系列用于开发服务器端应用的API。Node.js采用事件驱动、非阻塞IO模型,使其轻量又高效,非常适合处理大量并发请求。以下将详细介绍Node.js API的...

    NodeJS文档

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。它使开发人员能够使用 JavaScript 编写服务端应用程序。Node.js 利用非阻塞 I/O 和事件驱动架构来提供高效、可扩展的网络应用程序。 #### 全局对象 ...

    as3比较详尽的工具类

    JavaScript.as ---------------------- javascript交互 HTTPS.as ---------------------- url随机数 SNS.as ---------------------- 各个sns网站的分享 timeline: prevPlay.as ---------------------...

    node.js中的events.EventEmitter.listenerCount方法使用说明

    } else if (util.isFunction(emitter._events[type])) { ret = 1; } else { ret = emitter._events[type].length; } return ret; }; ``` 这段源码首先检查`emitter._events`是否存在以及`_events[type]`是否...

    node.js中的events.emitter.listeners方法使用说明

    方法说明: ... 语法: 代码如下: emitter.listeners(event) ...console.log(util.inspect(server.listeners(‘connection’))); // [ [Function] ] 源码: 代码如下: EventEmitter.prototype.li

    Node.js参考手册chm(中文).zip

    Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。这个"Node.js参考手册chm(中文).zip"包含了详细的中文文档,旨在帮助开发者全面理解和掌握Node.js的核心概念...

    Node.js v4.2.4 手册

    JSON是JavaScript Object Notation的缩写,是一种轻量级的数据交换格式。Node.js支持直接处理JSON数据,这在构建Web应用时非常有用。 #### 三、全局对象与方法 文档详细介绍了多个全局对象及其属性和方法: - **...

    Node.js+开发指南

    4.3 事件驱动events 63 4.3.1 事件发射器 64 4.3.2 error事件 65 4.3.3 继承EventEmitter 65 4.4 文件系统fs 65 4.4.1 fs.readFile 66 4.4.2 fs.readFileSync 67 4.4.3 fs.open 67 4.4.4 ...

Global site tag (gtag.js) - Google Analytics