/**
* 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
}
相关推荐
Node.js是一门用于构建高性能网络服务器和网络应用的JavaScript运行环境。它将JavaScript代码运行在服务器端,并为开发者提供了丰富的API。本文将对Node.js手册中文版中提及的几个核心知识点进行详细阐述。 1. 全局...
Dojo是一个强大的面向对象JavaScript框架。主要由三大模块组成:Core、Dijit、DojoX。Core提供Ajax,events,packaging,CSS-based querying,animations,JSON等相关操作API。Dijit是一个可更换皮肤,基于模板的WEB UI...
3. **Node.js核心模块**:理解并使用内置模块,如`fs`(文件系统)模块用于读写文件,`http`和`https`模块用于创建服务器,`path`模块用于处理路径,还有`util`和`events`模块等。 4. **npm和模块化**:了解npm的...
如果您的Node.js代码运行, util是内置的。如果在浏览器中运行代码,比如捆扎机或还包括util模块。 但是,如果这些都不适用,请使用npm执行: npm install util 用法 var util = require ( 'util' ) var ...
JavaScript YUI库是一个强大的JavaScript工具集,主要用于构建复杂的Web应用程序。它包含了许多功能,如事件处理、DOM操作、动画效果、Ajax通信等。以下是一些关键知识点的详细说明: 1. **事件处理**: - `event....
component.js -> util.js -> extend.js ##模块概要 main是组件库的种子模块,定义了命名空间和find函数 core提供组件库的核心接口,如init、changeData dom模块负责解析页面的chart标签及子标签 http模块负责ajax等...
- `events.EventEmitter`是Node.js中事件机制的核心类。 3. **缓冲区操作**: - `Buffer`对象用于处理二进制数据,提供了丰富的操作方法。 #### 五、附加知识点 1. **包管理器提示**: - 提供了一些关于如何...
- `document.captureEvents(Event.KEYDOWN)`:捕获指定类型的事件。 - `document.all`:在IE中访问所有HTML元素,但不是标准方法。 - `document.createElement`:创建新的HTML元素。 - `document....
`util`模块还提供了多种类型检查的辅助函数,如`util.isArray()`、`util.isBoolean()`、`util.isBuffer()`、`util.isDate()`、`util.isError()`、`util.isFunction()`、`util.isNull()`、`util.isNullOrUndefined()...
--新增功能:新增全局函数fixjs.util.getPageSize --新增功能:新增类fixjs.display.Stage --新增功能:新增类fixjs.display.Sprite --新增功能:事件注册支持caller参数,派发时设置caller值 --新增功能:事件支持...
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它让 JavaScript 能够运行在服务器端。Node.js 应用程序是事件驱动的,而 events 模块则是 Node.js 中用于处理事件的核心模块。events 模块的主要功能...
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是JavaScript的运行环境Node.js的核心部分,它提供了一系列用于开发服务器端应用的API。Node.js采用事件驱动、非阻塞IO模型,使其轻量又高效,非常适合处理大量并发请求。以下将详细介绍Node.js API的...
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。它使开发人员能够使用 JavaScript 编写服务端应用程序。Node.js 利用非阻塞 I/O 和事件驱动架构来提供高效、可扩展的网络应用程序。 #### 全局对象 ...
JavaScript.as ---------------------- javascript交互 HTTPS.as ---------------------- url随机数 SNS.as ---------------------- 各个sns网站的分享 timeline: prevPlay.as ---------------------...
} else if (util.isFunction(emitter._events[type])) { ret = 1; } else { ret = emitter._events[type].length; } return ret; }; ``` 这段源码首先检查`emitter._events`是否存在以及`_events[type]`是否...
方法说明: ... 语法: 代码如下: emitter.listeners(event) ...console.log(util.inspect(server.listeners(‘connection’))); // [ [Function] ] 源码: 代码如下: EventEmitter.prototype.li
Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。这个"Node.js参考手册chm(中文).zip"包含了详细的中文文档,旨在帮助开发者全面理解和掌握Node.js的核心概念...
JSON是JavaScript Object Notation的缩写,是一种轻量级的数据交换格式。Node.js支持直接处理JSON数据,这在构建Web应用时非常有用。 #### 三、全局对象与方法 文档详细介绍了多个全局对象及其属性和方法: - **...
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 ...