Console
今天要进行一些输出,先介绍一下我最喜欢的Dojo的Console,如果在IE中调试Dojo的代码就非常方便了,只要的页面中加上
<script type="text/javascript">
djConfig = {
isDebug: true,
parseOnLoad: true
};
</script>
isDebug: true,在页面中就可以看到Dojo的console了,Dojo1.3中的console稍稍和以前有点儿不一样,多了一些功能键,样式风格看起来是在模仿FireBug,好像越来越智能了。
有了Console,就方便多了,我们能把要输出的内容用console来输出,可以不用总是alert了。
Dojo console中常用的输出有四种级别:
console.log("This is console.log!");
console.info('This is console.info!');
console.warn('This is console.warn!');
console.error('This is console.error!');
看一下效果
dojo的console是怎么实现的呢? 在 dojo.js 里面有这样一段代码:
function() {
if (typeof this["loadFirebugConsole"] == "function") {
this["loadFirebugConsole"]();
} else {
this.console = this.console || {};
var cn = ["assert", "count", "debug", "dir", "dirxml", "error",
"group", "groupEnd", "info", "profile", "profileEnd",
"time", "timeEnd", "trace", "warn", "log"];
var i = 0, tn;
.....
}
}
从这里看到 dojo 实际上是调用的是 Firebug 的console,这样看来 Firebug console 的属性在dojo里面都可以使用,Firebug console 属性参考:http://getfirebug.com/console.html,好了,这样就准备的差不多了,下面继续。
数组迭代器
JavaScript中要遍历一个数组,通常情况下我们会这样做:
var arr = new Array("test", 123, 555);
for(var i=0; i<arr.length; i++) {
alert(arr[i]);
}
Dojo为数组对象提供了迭代器,举一个简单的例子:
var arr = new Array("test", 123, 555);
dojo.forEach(arr, function(elt, idx, array){
alert(idx + " - " + elt + " - " + array);
});
效果
- 0 - test - test,123,555
- 1 - 123 - test,123,555
- 2 - 555 - test,123,555
这样不用写for循环了,很简单吧。
来看一下 dojo API 中对 forEach() 方法的定义:
var foo=dojo.forEach(arr, callback, thisObject);
解释一下 forEach(arr,callback,thisObject) 方法的参数:
- arr,可以是一个数组,也可以是一个String,如果是一个String,会把String看作是一个数组,按每个字符拆开(支持中文)。
- callback,回调方法涉及三个参数item, index, array,item就是数组中每一个元素,index是元素在数组中的位置,array是要遍历的数组。
- thisObject,是一个可选参数,可以用来约束回调方法的范围。
API中给出了三个实例代码:
第一个例子
// log out all members of the array:
dojo.forEach(
[ "thinger", "blah", "howdy", 10 ],
function(item){
console.log(item);
}
);
第一个例子很简单,就是遍历了给定的数组,然后将数组中的元素挨个输出。
第二个例子
// log out the members and their indexes
dojo.forEach(
[ "thinger", "blah", "howdy", 10 ],
function(item, idx, arr){
console.log(item, "at index:", idx);
}
);
第二个例子输出了每个元素在数组中的位置。
第三个例子
// use a scoped object member as the callback
var obj = {
prefix: "logged via obj.callback:",
callback: function(item){
console.log(this.prefix, item);
}
};
// specifying the scope function executes the callback in that scope
dojo.forEach(
[ "thinger", "blah", "howdy", 10 ],
obj.callback,
obj
);
通过这个例子我们可以理解forEach()第三个参数的含义了,遍历给定数组,传入 obj 对象,调用obj对象的callback方法来来处理遍历后的函数。
- 大小: 4.3 KB
分享到:
相关推荐
Struts2-dojo-plugin-2.2.1.jar 是一个针对Apache Struts2框架的扩展插件,主要用于增强Struts2应用的用户界面交互性,特别是通过集成Dojo JavaScript库来提供丰富的AJAX功能和用户体验。这个插件是Struts2与Dojo ...
struts2-dojo-plugin-2.3.4 jar 日期控件的jar包 需要的自行下载
dojo学习笔记(二) dojo.lang.array & dojo.lang.func & dojo.string.extras dojo学习笔记(六)- ContentPane dojo学习笔记(四) dojo的拖拽示例以及疑问! 介绍dojo事件 使用 Dojo 工具包和 JSON-RPC 构建...
dojo学习笔记(二) dojo.lang.array & dojo.lang.func & dojo.string.extras dojo学习笔记(六)- ContentPane dojo学习笔记(四) dojo的拖拽示例以及疑问! 介绍dojo事件 使用 Dojo 工具包和 JSON-RPC 构建...
dojo学习笔记(二) dojo.lang.array & dojo.lang.func & dojo.string.extras dojo学习笔记(六)- ContentPane dojo学习笔记(四) dojo的拖拽示例以及疑问! 介绍dojo事件 使用 Dojo 工具包和 JSON-RPC 构建...
dojo学习笔记(二) dojo.lang.array & dojo.lang.func & dojo.string.extras dojo学习笔记(六)- ContentPane dojo学习笔记(四) dojo的拖拽示例以及疑问! 介绍dojo事件 使用 Dojo 工具包和 JSON-RPC 构建...
标题中的"dojo-release-1.4.2-src.tar.gz"是一个特定版本的Dojo Toolkit源码压缩包,属于JavaScript库的范畴。Dojo Toolkit是一个强大的、开源的JavaScript库,广泛用于构建富互联网应用程序(RIA)。这个版本是...
标题 "dojo-release-1.6.1-src.zip" 指的是 Dojo 框架的一个源码版本,这是在2011年发布的1.6.1版本。Dojo 是一个广泛使用的JavaScript库,它提供了丰富的功能和工具,帮助开发者构建高性能、可维护的Web应用程序。...
struts2-dojo 跨域时解决拒绝访问的问题
标题"dojo-release-1.4.3"揭示了我们讨论的是Dojo框架的一个特定版本——1.4.3。这个版本发布于2010年,尽管现在已经有了更新的版本,但1.4.3仍然被许多项目广泛使用,因为它稳定且支持众多特性。 Dojo的核心特性...
struts2-dojo-plugin-2.3.1.2.jar
本压缩包"dojo-release-1.9.1-src"包含了Dojo 1.9.1版本的源代码,对于开发者来说,深入理解其内部结构和工作原理具有极高的价值。 1. **模块化设计** Dojo Toolkit遵循AMD(Asynchronous Module Definition)规范...
"dojo-0.3.1-ajax" 是一个与Dojo JavaScript库相关的版本,特别是涉及到其 AJAX(Asynchronous JavaScript and XML)功能的版本。Dojo是一个开源的JavaScript工具包,为Web开发提供了丰富的功能,包括DOM操作、动画...
struts2-dojo-plugin-2.3.8
"dojo-release-1.10.4"是Dojo框架的一个稳定版本,发布于2015年,它提供了大量的功能和改进,以支持开发人员构建高效、响应式的网页应用。 1. **Dojo核心模块**:Dojo的核心模块包括`dojo/_base`,它包含了基本的...
struts2-dojo-plugin-2.3.24日期控件9-12月乱码解决后jar包
struts2-dojo-plugin-2.1.6.jar 解决了datetimepicker显示月份乱码的问题,显示9、10、11、12月份时出现乱码,本包修改了该bug
在"dojo-release-1.9.0-src.zip"这个压缩包中,我们获取的是Dojo 1.9.0版本的源码,这对于开发者深入理解Dojo的工作原理、定制组件以及优化性能有着极高的价值。 首先,Dojo的核心概念是模块化。它采用了AMD...
dojo是一个用javascript语言实现的开源DHTML工具包。它是在几个项目捐助基础上建立起来的(nWidgets,Burstlib,f(m)),这也是为什么叫它a"unified"toolkit的原因。Dojo的目标是解决开发DHTML应用程序遇到的那些,长期...