当前位置: 首页 > news >正文

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

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.gif dojo.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.gif dojo.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.gif dojo.string.padLeft( " 100 " 6 );             // will return "000100"
dojo.string.padRight 使用字符补齐字符串结尾 Usage Example:
None.gif dojo.string.padRight( " 100 " 6 );             // will return "100000"



模块:dojo.lang.common / dojo.lang
dojo.lang.common 和 dojo.lang 是一样的,只要require其中一个就可以使用以下方法
dojo.lang.mixin
将一个对象的方法和属性增加到另一个对象上
Usage Example:
ExpandedBlockStart.gif ContractedBlock.gif var  s1  =   dot.gif {name: "TestObj", test1: function()dot.gif{alert("this is test1!");}}
ExpandedBlockStart.gifContractedBlock.gif var  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.gif TestClass  =   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.gif var  arr  =  [ 1 , 2 , 3 , 3 , 2 , 1 ];
None.gifdojo.lang.find(arr, 
2 );                   // will return 1
None.gif
dojo.lang.find(arr,  2 true );             // 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,  2 true true );       // will return 4
dojo.lang.findLast=dojo.lang.lastIndexOf 查找指定对象在指定数组中的位置,从后往前查 Usage Example:
None.gif var  arr  =  [ 1 , 2 , 3 , 3 , 2 , 1 ];
None.gifdojo.lang.findLast(arr, 
2 );                   // will return 4
None.gif
dojo.lang.findLast(arr,  2 true );             // 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.gif var  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.gif dojo.lang.isObject( new  String());       // will return true
None.gif
dojo.lang.isObject( " 123 " ));       // will return false
dojo.lang.isArray 判断输入的类型是否为数组 Usage Example:
ExpandedBlockStart.gif ContractedBlock.gif dojo.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.gif ContractedBlock.gif dojo.lang.isFunction( function ()  dot.gif {} );       // will return true
dojo.lang.isString 判断输入的类型是否为字符串 Usage Example:
None.gif dojo.lang.isString( "" );       // will return true
None.gif
dojo.lang.isString( 0 );       // will return false
dojo.lang.isAlien 判断输入的类型是否为系统函数 Usage Example:
None.gif dojo.lang.isAlien(isNaN);       // will return true
dojo.lang.isBoolean 判断输入的类型是否为布尔类型 Usage Example:
None.gif dojo.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.gif function  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.gif dojo.lang.getNameInObj(dojo, dojo.debug);       // will return "debug"
dojo.lang.shallowCopy 返回指定对象的浅表复制副本 Usage Example:
ExpandedBlockStart.gif ContractedBlock.gif dojo.lang.shallowCopy( dot.gif {} );     // will return a 空对象
dojo.lang.firstValued 返回第一个存在定义的参数 Usage Example:
None.gif var  a;
None.gifdojo.lang.firstValued(a,
2 , 3 );       // will return 2

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

转载于:https://www.cnblogs.com/Icebird/archive/2006/08/02/dojo_study_4.html

相关文章:

  • 人类的心理行为模式,---》阮一峰,
  • 瞧这一天
  • iOS 消息推送原理及实现Demo
  • 我的第一张博客
  • JSP一句话后门--2006-08-03
  • Linux实用命令工具-dtrx根据需要自动解压
  • SQL Server 2005-如何在SQL Server用户自订函数中调用GetDate()函数
  • Linux下C程序的编辑,编译和运行以及调试
  • SharePoint Server 2007 Web内容管理中的几个关键概念
  • 带外监控
  • 自动内容滚动条[WinForm控件]
  • C# 生成二维码
  • CSS在ASP.NET中使用
  • 字符填充的首尾定界符法
  • hdfs源码解析
  • [iOS]Core Data浅析一 -- 启用Core Data
  • 78. Subsets
  • CSS 三角实现
  • Java基本数据类型之Number
  • PHP CLI应用的调试原理
  • Python学习之路16-使用API
  • Redux系列x:源码分析
  • Twitter赢在开放,三年创造奇迹
  • Unix命令
  • XML已死 ?
  • 初识MongoDB分片
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 使用common-codec进行md5加密
  • 数组大概知多少
  • 为什么要用IPython/Jupyter?
  • 学习JavaScript数据结构与算法 — 树
  • 最近的计划
  • 大数据全解:定义、价值及挑战
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #stm32驱动外设模块总结w5500模块
  • (1) caustics\
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (LeetCode C++)盛最多水的容器
  • (第61天)多租户架构(CDB/PDB)
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)平衡树
  • (转)使用VMware vSphere标准交换机设置网络连接
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .net core 连接数据库,通过数据库生成Modell
  • .NET中两种OCR方式对比
  • .so文件(linux系统)
  • /etc/X11/xorg.conf 文件被误改后进不了图形化界面