[Prototype.js1.5.1_rc2]prototype.js之String的扩展

简介:

在上一编文章中介绍了几个类的扩展以及类的创建继承等,今天我们来看看 Prototype.js中对String的扩展 ,这在我们的项目中肯定会经常用到!有好多朋(博)友推荐我去用jQuery类库,再此表示感谢,jQuery比Prototype.js会小很多,未编 译也没有Prototype.js大,编译后才20多K。但是每一个类库都有他存在的理由,各有个的优点,既然我先选中了Prototype.js这个类 库我想就必须坚持下去,做事要有始有终,而且我觉得Prototype.js更适合.NET的开发人员。由于我不是专业的写作高手,在这里只是随便解说一 下,以便以后回头观望时能够立刻想起来他的功能,至于他是怎么实现的我想没什么必要在这里说明。本人水平有限时抱着一种学习的态度来写这篇随便,如果有什 么不对或不好的地方请大家能够多多谅解。OK,废话不多说了,让我们切入正题,让我们来感受一下Prototype.js带给我们的温暖吧!

  从上一篇文章中我们知道,Object.extend()方法是实现JS面向对象继承的,它的机理就是把类的所有属性复制到当前类中,这样当前类就有了基 类的所有属性。在String扩展也是利用这个方法,首先定义了String.interpret(value)的方法:如果value为null返回 ’’,否则返回当前value的String对象;另外一个是特殊字符串(转义字符)specialChar属性。

  在C#中我们在字符串操作的时候经常都会用到Replace()的正则替换,在Prototype.js中也对String进行了扩展,方法名称为: String.gsub(pattern, replacement)。Pattern指的是匹配的正则表达式,这里值得注意的是,不要在//后加g,因为它是利用迭代来完成整个替换过程的; replacement不用说都知道是将要替换的字符串。例如:"abcdeabdde".gsub(/ab/,function(match) {return "$$";});è$$cde$$dde。

  String.sub(pattern,replacement,count)方法和gsub差不多,不同的是gsub把整个字符串的所有匹配项全给替换了,而这里的count干好可以限制一下替换的次数,默认为1。

  String.scan(pattern,iterator)方法和上面两个方法有点相似,但是这个方法是返回字符串本身,而不是匹配替换后的字符串;如 果字符串匹配则执行iterator方法。如:var str="abcdeabdde".scan(/abc/,function(macth){alert( "$a$b$c---"+macth);});则str="abcdeabdde";而会弹出”$a$b$c-abc”。

  当我们需要截取字符串时,可以用String.truncate(length, truncation),超过的部分用truncation字符串补上,默认为:’…’。在网站的标题列表中经常会用到这个,不过通过CSS样式也能达到效果,在编程的情况下就只能用JS了。

  String.strip,String.striptag,String.stripScript三个方法都是过滤字符串的:第一个是过滤字符串两端的 空格相当于C#中String.Trim();第二个是过滤HTML标签;第三个是过滤Script标签里的代码。 String.extractScripts返回字符串中JS代码,以数组的形式返回;String.evalScripts执行字符串中的 javascript代码;String.escapeHTML将HTML转换为字符,如:’&’à’&’,’’à’& nbsp;’;String.unescapeHTML为String.escapeHTML的反向转换;toQueryParams或 parseQuery返回查询字符串的Hashtable,用key取其指犹如C#中的Request.QueryString;toArray将字符串 转换为数组。

  每次写随笔时都很容易中途放弃,但是放弃之后又会有点愧疚,其实写到这里我就快要达到我的底线了,但是今天我要狠下心来写完这篇随笔。接下来我们看看 succ,这个方法很有意思将字符串中的最后一个字符转换为Unicode字符集的下一个字符,如:最后一个为a=>b;6=>7;,= >-;times循环N次,也就是添加N个连续的字符串;camelize去掉"-"字符,并将"-"后的第一个字符转换为大写的 "camelize"格式的字符串,例如:var str=’hello-word’;var returnvalue= str.camelize();则returnvalue为’helloWorld’; capitalize将当前字符串的首字母大写并返回;underscore将camelize格式的字符串转换为下划线格式,例如:var str=’helloWorld’;str.underscore()则返回的字符串为:’hello_world’; dasherize将所有"_"转换为"-";inspect/ toJSON返回格式的字符串。

  Include表示字符串中是否包含argument中的字符;startsWith/endsWith大家都知道是什么意思,empty判断是否为’’;blank判断字符串是否为空''或只包含空格。

  OK,功能基本上介绍完了,但是感觉很乱,因为在写文章时跑了几次卫生间,请大家谅解。累了,喝了正气水好像才有点回过神来了!

本文转自网魂小兵博客园博客,原文链接:http://www.cnblogs.com/xdotnet/archive/2007/04/08/prototype_getstarting_stringextend.html,如需转载请自行联系原作者

相关文章
|
JavaScript 前端开发
JavaScript 中如何检测一个变量是一个 String 类型?
JavaScript 中如何检测一个变量是一个 String 类型?
389 2
|
机器学习/深度学习 JavaScript Cloud Native
Node.js作为一种快速、可扩展的服务器端运行时环境
Node.js作为一种快速、可扩展的服务器端运行时环境
301 8
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
530 2
|
JavaScript 算法 前端开发
JS算法必备之String常用操作方法
这篇文章详细介绍了JavaScript中字符串的基本操作,包括创建字符串、访问特定字符、字符串的拼接、位置查找、大小写转换、模式匹配、以及字符串的迭代和格式化等方法。
300 2
JS算法必备之String常用操作方法
|
前端开发 JavaScript 应用服务中间件
Nginx 支持 JavaScript:前所未有的扩展
Nginx 是全球领先的高性能 Web 服务器,以其高效的反向代理和负载均衡功能著称。近期,Nginx 正式支持 JavaScript(通过 NJS 模块),基于 V8 引擎,允许在配置中嵌入 JS 代码,极大提升了灵活性和扩展性。开发者可以使用 JavaScript 实现动态请求处理、自定义认证、复杂响应处理、中间件编写及流量控制等功能,显著降低开发和维护难度,同时保持高性能。NJS 模块的引入为 Nginx 带来了前所未有的扩展能力,适应快速变化的业务需求。
474 0
|
存储 JavaScript 前端开发
JavaScript 字符串(String) 对象
JavaScript 字符串(String) 对象
202 3
|
JavaScript 前端开发 Python
JavaScript写个.ts视频文件Url生成器,使用了string.padStart
JavaScript写个.ts视频文件Url生成器,使用了string.padStart
|
JavaScript 前端开发 API
javaScript中常用的String方法以及注意点总结
本文总结了JavaScript中常用的String对象的方法及其注意事项,包括大小写转换、字符获取、子字符串截取、字符串拼接、去除空格、替换、分割以及查找字符串中字符的索引等操作。提供了每种方法的使用示例代码,帮助理解它们的具体用法和差异。
303 2
|
JavaScript 前端开发
今天被JavaScript的String型和数字型的+运算撞了一下腰。
今天被JavaScript的String型和数字型的+运算撞了一下腰。
|
JavaScript 前端开发 开发者