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

本文介绍了 Dojo 库中的 dojo.string 和 dojo.lang 模块的使用方法,包括字符串处理函数如 trim、repeat 和 pad,以及对象操作函数如 mixin 和 extend 等。同时还涉及数组和类型检查等实用功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

模块:dojo.string.common / dojo.string
dojo.string.common 和 dojo.string 是一样的,只要require其中一个就可以使用以下方法
dojo.string.trim
去掉字符串的空白
Usage Example:
None.gif= " abc ";
None.gifdojo.string.trim(s);      
//will return "abc"
None.gif
dojo.string.trim(s, 0);      //will return "abc"
None.gif
dojo.string.trim(s, 1);      //will return "abc "
None.gif
dojo.string.trim(s, -1);//will return " abc"
dojo.string.trimStart
去掉字符串开头的空白
Usage Example:
None.gif= " abc ";
None.gifdojo.string.trimStart(s);      
//will return "abc "
dojo.string.trimEnd 去掉字符串结尾的空白 Usage Example:
None.gif= " abc ";
None.gifdojo.string.trimEnd(s);            
//will return " abc"
dojo.string.repeat 生成由同一字符(串)重复组成的字符串 Usage Example:
None.gifdojo.string.repeat("a"4); //will return "aaaa"
None.gif
dojo.string.repeat("1234"3"-"); //will return "1234-1234-1234"
dojo.string.pad 使用字符补齐字符串 Usage Example:
None.gifdojo.string.pad("100"6);            //will return "000100"
None.gif
dojo.string.pad("100"6"0"1);      //will return "000100"
None.gif
dojo.string.pad("100"6"0"-1);      //will return "100000"
dojo.string.padLeft 使用字符补齐字符串开头 Usage Example:
None.gifdojo.string.padLeft("100"6);            //will return "000100"
dojo.string.padRight 使用字符补齐字符串结尾 Usage Example:
None.gifdojo.string.padRight("100"6);            //will return "100000"



模块:dojo.lang.common / dojo.lang
dojo.lang.common 和 dojo.lang 是一样的,只要require其中一个就可以使用以下方法
dojo.lang.mixin
将一个对象的方法和属性增加到另一个对象上
Usage Example:
ExpandedBlockStart.gifContractedBlock.gifvar s1 = dot.gif{name: "TestObj", test1: function()dot.gif{alert("this is test1!");}}
ExpandedBlockStart.gifContractedBlock.gifvar s2 = dot.gif{value: 1000, test2: function()dot.gif{alert("this is test2!");}}
ExpandedBlockStart.gifContractedBlock.gif
var d = dot.gif{};
None.gifdojo.lang.mixin(d, s1, s2); 
//执行后d就具备了s1和s2的所有属性和方法
None.gif
d.test1();
dojo.lang.extend 为指定类的原型扩展方法与属性 Usage Example:
ExpandedBlockStart.gifContractedBlock.gifTestClass = function() dot.gif{};
ExpandedBlockStart.gifContractedBlock.gifdojo.lang.extend(TestClass, 
dot.gif{name: "demo", test: function()dot.gif{alert("Test!");}});
None.gif
var o = new TestClass();  //TestClass本来是没有test方法的,但是extend以后就有test方法了
None.gif
o.test();
dojo.lang.find=dojo.lang.indexOf 查找指定对象在指定数组中的位置 Usage Example:
None.gifvar arr = [1,2,3,3,2,1];
None.gifdojo.lang.find(arr, 
2);                  //will return 1
None.gif
dojo.lang.find(arr, 2true);            //will return 1
None.gif
dojo.lang.find(arr, "2"true);            //will return -1
None.gif
dojo.lang.find(arr, "2"false);      //will return 1
None.gif
dojo.lang.find(arr, 2truetrue);      //will return 4
dojo.lang.findLast=dojo.lang.lastIndexOf 查找指定对象在指定数组中的位置,从后往前查 Usage Example:
None.gifvar arr = [1,2,3,3,2,1];
None.gifdojo.lang.findLast(arr, 
2);                  //will return 4
None.gif
dojo.lang.findLast(arr, 2true);            //will return 4
None.gif
dojo.lang.findLast(arr, "2"true);            //will return -1
None.gif
dojo.lang.findLast(arr, "2"false);            //will return 4
dojo.lang.inArray 查找指定对象是否在指定数组中 Usage Example:
None.gifvar arr = [1,2,3];
None.gifdojo.lang.inArray(arr, 
1);      //will return true
None.gif
dojo.lang.inArray(arr, 4);      //will return false
dojo.lang.isObject 判断输入的类型是否为对象 Usage Example:
None.gifdojo.lang.isObject(new String());      //will return true
None.gif
dojo.lang.isObject("123"));      //will return false
dojo.lang.isArray 判断输入的类型是否为数组 Usage Example:
ExpandedBlockStart.gifContractedBlock.gifdojo.lang.isArray(dot.gif{a:1,b:2});      //will return false
None.gif
dojo.lang.isArray([1,2,3]);      //will return true
dojo.lang.isFunction 判断输入的类型是否为函数 Usage Example:
ExpandedBlockStart.gifContractedBlock.gifdojo.lang.isFunction(function() dot.gif{});      //will return true
dojo.lang.isString 判断输入的类型是否为字符串 Usage Example:
None.gifdojo.lang.isString("");      //will return true
None.gif
dojo.lang.isString(0);      //will return false
dojo.lang.isAlien 判断输入的类型是否为系统函数 Usage Example:
None.gifdojo.lang.isAlien(isNaN);      //will return true
dojo.lang.isBoolean 判断输入的类型是否为布尔类型 Usage Example:
None.gifdojo.lang.isBoolean(2>1);      //will return true

dojo.lang.isNumber
判断输入的类型是否为数值,根据注释所说,此函数使用不太可靠,但是可替换使用的系统函数isNaN也不太可靠

dojo.lang.isUndefined
判断输入是否为未定义,根据注释所说,此函数有可能会导致抛出异常,推荐使用 typeof foo == "undefined" 来判断

模块:dojo.lang.extras
dojo.lang.setTimeout 延迟指定时间后执行指定方法 Usage Example:
None.giffunction onTime(msg)
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gifdojo.debug(msg)
ExpandedBlockEnd.gif}

None.gifdojo.lang.setTimeout(onTime, 
1000"test"); //1秒后会输出调试信息"test"
None.gif
dojo.lang.setTimeout(dojo, "debug"1000"test"); //1秒后会输出调试信息"test"
None.gif
dojo.lang.getNameInObj 获得指定项目在指定对象中的名称 Usage Example:
None.gifdojo.lang.getNameInObj(dojo, dojo.debug);      //will return "debug"
dojo.lang.shallowCopy 返回指定对象的浅表复制副本 Usage Example:
ExpandedBlockStart.gifContractedBlock.gifdojo.lang.shallowCopy(dot.gif{});    //will return a 空对象
dojo.lang.firstValued 返回第一个存在定义的参数 Usage Example:
None.gifvar a;
None.gifdojo.lang.firstValued(a,
2,3);      //will return 2

以上全部是自己阅读源代码写的总结,如有错误,还请指明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值