Dojo学习笔记5. dojo.lang.array & dojo.lang.func & dojo.string.extras

模块:dojo.lang.array

dojo.lang.has

判断对象是否具有指定属性,不过这个方法有用吗,不如直接使用 if(name in obj)

Usage Example:
 dojo.lang.has(dojo.lang, "has"); //will return true
dojo.lang.isEmpty

判断对象或数组是否为空

Usage Example:
 dojo.lang.isEmpty({a: 1}); //will return false
 dojo.lang.isEmpty([]); //will return true
dojo.lang.map

调用指定的方法处理指定的数组或字符串

Usage Example:
 dojo.lang.map([1,2,3,4,5], function(x) { return x * x;}); //will return [1,4,9,16,25]
dojo.lang.forEach

遍历指定的数组或字符串,并对其中的元素调用指定的方法

Usage Example:
 dojo.lang.forEach("abc", function(x) { alert(x); });
dojo.lang.every

检查指定的数组是否全部满足指定方法的条件

Usage Example:

dojo.lang.every([1,-2,3], function(x) { return x > 0; }); //指定的数组不是全大于0的,因此返回false

dojo.lang.some

检查指定的数组是否部分满足指定方法的条件

Usage Example:
 dojo.lang.some([1,-2,3], function(x) { return x > 0; }); //指定的数组有大于0的元素,因此返回true
dojo.lang.filter

根据指定的方法来过滤指定的数组

Usage Example:
 dojo.lang.filter([1,-2,3], function(x) { return x > 0; }); //will return [1, 3]
dojo.lang.unnest

把指定的参数或数组转换为一维数组

Usage Example:
 dojo.lang.unnest(1, 2, 3); //will return [1, 2, 3]
 dojo.lang.unnest(1, [2, [3], [{4}]]); //will return [1, 2, 3, 4]

dojo.lang.toArray

将输入转换为数组

Usage Example:
 function test()
 {
  return dojo.lang.toArray(arguments, 1);
 }
 test(1,2,3,4,5); //will return [2,3,4,5]

模块:dojo.lang.func

dojo.lang.hitch

将指定的方法挂在指定的对象下并返回该方法

Usage Example:
 func = {test: function(s) {alert(s)}};
 dojo.lang.mixin(func, {demo: dojo.lang.hitch(func, "test")});
 func.demo("demo and test are same method");
dojo.lang.forward

返回自身对象的指定名称的方法引用

Usage Example:
 func = {test: function(s) {alert(s)}, demo: dojo.lang.forward("test")};
 func.demo("demo and test are same method");
dojo.lang.curry
What is curry? 请参阅这篇文章:http://www.svendtofte.com/code/curried_javascript/
Usage Example:
 function add(a, b)
 {
  return a + b;
 }
 dojo.lang.curry(null, add, 2, 3); //will return 5
 dojo.lang.curry(null, add, 2)(3); //will return 5
 dojo.lang.curry(null, add)(2)(3); //will return 5
 dojo.lang.curry(null, add)()(2)(3); //will return 5
dojo.lang.curryArguments

与dojo.lang.curry类似,但是可以选择忽略掉前n个参数

Usage Example:
 function add(a, b)
 {
  return a + b;
 }
 dojo.lang.curryArguments(null, add, [1,2,3,4,5], 2); //will return 5 (= 2 + 3)
 
dojo.lang.tryThese

时间: 2024-10-27 16:14:06

Dojo学习笔记5. dojo.lang.array & dojo.lang.func & dojo.string.extras的相关文章

《JavaScript高级编程》学习笔记之object和array引用类型_javascript技巧

本文给大家分享我的javascript高级编程学习笔记之object和array引用类型,涉及到javascript引用类型相关知识,大家一起看看把. 1. Object类型      大多数引用类型值都是Object类型的实例:而且Object也是ECMAScript中使用最多的一个类型.      创建Object实例有如下两种方式: new操作符后跟Object构造函数: var person=new Object( ); person.name="webb"; person.a

Dojo学习笔记 4. dojo.string & dojo.lang

模块:dojo.string.common / dojo.string dojo.string.common 和 dojo.string 是一样的,只要require其中一个就可以使用以下方法 dojo.string.trim 去掉字符串的空白 Usage Example: s = " abc ";dojo.string.trim(s); //will return "abc"dojo.string.trim(s, 0); //will return "a

推荐dojo学习笔记_dojo

在引用dojo.js前,最好声明djConfig对象,以便在加载dojo.js时能够取得所设置的值,虽然在0.3版本以后dojo支持在加载后设置,但是强烈建议你把声明djConfig的代码作为第一段script: 一个完整的djConfig对象定义如下(值均为dojo的默认值) js 代码 var djConfig = {        isDebug: false,        debugContainerId: "",        bindEncoding: "&qu

Dojo学习笔记 1.模块与包

Dojo是一个非常强大的面向对象的JavaScript的工具箱, 建议读者能够去补充一下JavaScript下如何使用OO进行编程的, 这对于你以后阅读Dojo Source有很大的用处. Getting Started 1: 把Dojo加入到我们的Web程序中 1. 标志<script type="text/javascript"> djConfig = { isDebug: false }; </script> djConfig是Dojo里的一个全局对象,

Dojo学习笔记 9. dojo.graphics.color &amp;amp; dojo.uri.Uri

模块:dojo.graphics.color 下面是dojo里定义的颜色名称 dojo.graphics.color.named.white//白色 dojo.graphics.color.named.black//黑色 dojo.graphics.color.named.red//红色 dojo.graphics.color.named.green//绿色 dojo.graphics.color.named.blue//蓝色 dojo.graphics.color.named.navy//海军

Dojo学习笔记 7. dojo.dom

模块:dojo.dom dojo.dom.isNode 测试指定对象是否为节点 Usage Example: dojo.dom.isNode(dojo.byId('edtTitle')); dojo.dom.getUniqueId 取得唯一id Usage Example: dojo.dom.getUniqueId(); //will return dj_unique_# dojo.dom.firstElement = dojo.dom.getFirstChildElement 取得指定节点下的

Dojo学习笔记 3. Dojo的基础对象和方法

这里所说的基础对象和方法是指的不Require任何包就能够调用的对象和方法 匿名函数 在开始前,我想介绍一下js里的匿名函数,这个在阅读dojo的源代码的时候,会发现到处都有匿名函数 ;(function(){ alert(123); })(); //前面的分号是一个空语句,是可以不要的 匿名函数.一个匿名函数就是一个没有名字的函数. 你可以认为他们是一次性函数.当你只需要用一次某个函数时,他们就特别有用.通过使用匿名函数,没有必要把函数一直放在内存中,所以使用匿名函数更加有效率. 当然你也可以

API Demos 2.3 学习笔记 (20)-- Views-&amp;gt;Lists-&amp;gt;Array

更多精彩内容,请点击阅读:<API Demos 2.3 学习笔记> 从本节开始,我们开始接触List方面的内容.List部分的内容主要用到控件ListView.根据我的了解,我喜欢把ListView的应用框架分成三层来理解:数据,适配器,UI.其中,数据主要是一系列特定数据的集合,例如,一个字符串数组等:UI主要是ListView,或者包含ListView控件的ListActivity:适配器则有很多,例如:ArrayAdapter<T>, BaseAdapter, CursorA

Dojo学习笔记8.dojo.event &amp;amp; dojo.event.topic &amp;amp; dojo.event.browser

模块:dojo.event 终于进入有名的dojo事件处理系统的学习了,学习前建议读者先去补习一下AOP的相关知识 dojo.event.connect 绑定指定的方法到指定的对象的方法上 Usage Example: 简单绑定1 function doOnClick1() { alert("Clicked!"); } dojo.event.connect(dojo.byId("inputTest"),"onclick","doOnCl