Ext对String类的扩展
来源:互联网 发布:大小姐zetacola知乎 编辑:程序博客网 时间:2024/05/22 07:00
原生 String 类:
一个 length 属性、一个静态方法 String.fromCharCode() 、 17 个实例方法。(这里的称呼都是方便理解的方式,不是严格意义上 OO 的意思。) 17 个实例方法简表:
1、 charAt()
2、 charCodeAt() :返回字符串中指定位置处的字符编码( Unicode 码值)。
3、 concat() :把一个或多个值连接到字符串上
4、 indexOf()
5、 lastIndexOf()
6、 localeCompare() :用本地化的顺序比较字符串
7、 match(): 用正则表达式进行模式匹配
8、 replace()
9、 search() :检索字符串中与正则表达式匹配的子串
10、 slice(): 返回字符串的一个子串
11、 split()
12、 substr()
13、 substring()
14、 toLowerCase()
15、 toString()
16、 toUpperCase()
17、 valueOf()
Ext 对 String 的扩展
在 Ext.js 中对 String 类扩展了三个静态方法: escape() 、 leftPad() 、 format() ;
两个实例方法: toggle() 、 trim() 。
对 String 类的扩展程序比较简洁,不对废话,仅仅把 Ext 的源码注释和示例翻译一下:
applyIf ( Object obj, Object config ) : Object
复制所有config的属性至obj,如果obj已有该属性,则不复制(第一个参数为obj,第二个参数为config)
参数项:
obj : Object
接受方对象
config : Object
源对象
返回:
Object returns obj
- <SPAN style="FONT-SIZE: medium">/**
- * @String类
- * 这些方法是对JavaScript中String类静态方法的扩展
- */
- Ext.applyIf(String, {
- /**
- *将传进来的String中的’和/过滤掉
- * @参数 {String} string 需要进行过滤的字符串
- * @返回值 {String} 过滤好的字符串
- * @静态方法
- */
- escape : function(string) {
- return string.replace(/('|//)/g, "//$1");
- },
- /**
- * 用指定的字符填充一个字符串的左侧。对于格式化数字或者日期字符串,这
- *一个非常有用的方法。用法示例:
- * <pre><code>
- var s = String.leftPad('123', 5, '0');
- // s now contains the string: '00123'
- </code></pre>
- * @参数1 {String} string 原来的字符串
- * @参数2 {Number} size 返回字符串的总长度
- * @参数3 {String} char (optional) 填充的字符串 (默认用" "填充)
- * @返回值 {String} 填充好的字符串
- * @静态方法
- */
- leftPad : function (val, size, ch) {
- var result = new String(val);
- if(!ch) {
- ch = " ";
- }
- while (result.length < size) {
- result = ch + result;
- }
- return result.toString();
- },
- /*允许你自定义含有占位符的字符串,并且传递任意数量的参数去替代这些占位符。*每一个占位符必须是唯一的,并且以{0}、{1}…这种格式递增。
- *用法示例:
- * <pre><code>
- var cls = 'my-class', text = 'Some text';
- var s = String.format('<div class="{0}">{1}</div>', cls, text);
- // s now contains the string: '<div class="my-class">Some text</div>'
- </code></pre>
- * @参数1 {String} string 含有占位符,需要格式化的字符串
- * @参数2 {String} value1 替代占位符 {0}的字符串
- * @参数3 {String} value2 替代占位符{1}的字符串,以此类推
- * @返回值 {String} 格式化好的字符串
- * @静态方法
- */
- format : function(format){
- var args = Array.prototype.slice.call(arguments, 1);
- return format.replace(//{(/d+)/}/g, function(m, i){
- return args[i];
- });
- }
- });
- /*工具方法,帮助你轻松地在两个字符串之间轮换取值。
- *传入的第一个参数值会与当前字符串进行比较,如果它们相等,则把当前字符串赋值*为传入的第二个参数。否则,保持当前值不变。
- *注意,该方法会返回一个新的字符串,而不是去改变当前字符串。
- * <pre><code>
- // alternate sort directions
- sort = sort.toggle('ASC', 'DESC');
- // instead of conditional logic:
- sort = (sort == 'ASC' ? 'DESC' : 'ASC');
- </code></pre>
- * @参数1 {String} value 需要与当前值进行比较的字符串
- * @参数2 {String} other 如当前字符串与第一个传入的参数相等,赋值给当前字符串的新值。
- * @返回值 {String} 新的字符串
- */
- String.prototype.toggle = function(value, other){
- return this == value ? other : value;
- };
- /**
- * 去掉字符串两端的空格,保持中间的空格不变。示例:
- * <pre><code>
- var s = ' foo bar ';
- alert('-' + s + '-'); //alerts "- foo bar -"
- alert('-' + s.trim() + '-'); //alerts "-foo bar-"
- </code></pre>
- * @返回值 {String} 去掉两端空格后的字符串
- */
- String.prototype.trim = function(){
- var re = /^/s+|/s+$/g;
- return function(){ return this.replace(re, ""); };
- }();</SPAN>
- Ext对String类的扩展
- ExtJS学习-----------Ext.String,ExtJS对javascript中的String的扩展
- 对String类进行方法的扩展
- Ext 2.0使用:对分页Ext.PagingToolbar的扩展
- Ext 2.0使用:对分页Ext.PagingToolbar的扩展
- Ext 2.0使用:对分页Ext.PagingToolbar的扩展
- js对Date类和String的扩展
- [转载]EXT核心API详解(二)Array String Number Date Function类的扩展
- MSAJAX对String 类型的扩展
- 对string的一些扩展函数
- ExtJS学习-----------Ext.Date,Ext.Function和Ext.Error,ExtJS对javascript中的Ext.Date,Function和Error的扩展
- EXT的grid扩展
- 扩展Ext的JsonReader
- string 类的扩展方法
- string 类的扩展方法
- 摘录的一篇文章-关于对string方法的扩展
- Java8 中对String扩展的方法 join
- 《仔仔细细分析Ext》 脚本,你的效率到底损失在哪里?:Ext对Array对象的扩展
- 编写跨浏览器兼容的 CSS 代码的金科玉律
- 苹果电脑不为人所知的第三个创始人——选择比努力更重要
- 无法卸载VS2008(转)
- VC6下安装与配置OpenCV1.0
- PHP语法结构
- Ext对String类的扩展
- 数据绑定
- 数据绑定
- 如何估算PGA,SGA的大小,配置数据库服务器的内存
- web小技巧收集
- bitbake ERROR: Unable to open conf/bitbake.conf
- HTML5
- 实战 OpenLaszlo 与 db4o
- 了解搜索引擎技术