JavaScript帮助程序库?没有DOM或AJAX的东西

时间:2010-06-08 17:15:02

标签: javascript

当我在编写JavaScript时,我总是缺少一些JavaScript没有的基本语言功能。那么是否有任何库可以将诸如trim,sprintf,str.endwith等函数等功能引入JavaScript?

我刚刚写了很多次这些函数,我也厌倦了从旧代码中复制/粘贴它们。如果有一些库可以在一个地方实现和测试,那将是很好的。

注意我不是在讨论像jQuery或Dojo这样的Ajax / DOM库。我知道那些库带来了我在这里谈论的一些功能,但不是全部。我希望还有一个与环境无关的库,以便同一个库可以与服务器端JavaScript一起使用。

到目前为止,我发现最好的库是php.js,但我不喜欢它如何污染全局命名空间。我也不太喜欢PHP函数的命名方式。

修改

我正在使用Underscore.js解决,因为它很容易扩展。所以我用自己的字符串函数扩展它。在这里查看:

https://github.com/epeli/underscore.string

8 个答案:

答案 0 :(得分:11)

查看 Underscore


另一方面,你想要的东西看起来很简单:

function endsWith(str, end) {
    return String(str).lastIndexOf(end) === str.length - end.length;
}

function trim(str) {
    return String(str).replace(/^\s\s*|\s\s*$/g, '');
} // btw, should really be checking for String.prototype.trim

// ... and google "JavaScript sprintf" for a sprintf implementation

答案 1 :(得分:6)

您可能想查看Google Closure Library。它提供以下包:

array (1)
asserts (1)
async (3)
base.js
color (3)
crypt (5)
cssom (2)
datasource (8)
date (4)
debug (16)
demos (6)
deps.js
disposable (1)
dom (28)
editor (15)
events (18)
format (3)
functions (1)
fx (12)
gears (14)
graphics (25)
history (1)
i18n (15)
iter (1)
json (1)
locale (16)
math (15)
memoize (1)
module (10)
net (29)
object (1)
positioning (9)
proto (2)
proto2 (10)
pubsub (1)
reflect (1)
spell (1)
string (3)
structs (18)
style (2)
testing (37)
timer (1)
ui (133)
uri (2)
useragent (9)

Closure Library是开源的,Gmail,地图,文档,网站,图书,阅读器,Blogger,日历和Picasa中的Google should be using it

您可能需要查看ArrayString套餐才能获得快速的第一印象。

答案 2 :(得分:4)

您可能想查看MooTools。它是一个非常模块化的库,专注于增强JavaScript代码,而不仅仅是特定于浏览器的JavaScript环境(DOM,AJAX等)。

答案 3 :(得分:3)

我不知道任何提供除流行的AJAX / DOM库之外的其他函数的库。为什么不从PHP.js中hand pick the functions并将它们添加到您自己的命名空间中?您甚至可以将它们重命名为您喜欢的任何内容。

答案 4 :(得分:1)

您可以查看Mootools Server

  

这是一个定制的MooTools构建   没有任何相关的组件   浏览器。包括Class,Core和   原生扩展。这是具体的   适用于服务器端环境   如v8cgi,Rhino或SpiderMonkey。

不知道它是否适合您的目的,但这是一种方法。

答案 5 :(得分:0)

Javascript substring会帮助你...如果你不喜欢这样,我会推荐正则表达式......

大多数时候,当我在一个非常简单的页面中需要基本功能时,我会把我的正常表现当作我最好的朋友......

答案 6 :(得分:0)

Server-side_JavaScript

中有一个列表

答案 7 :(得分:0)

我同意加里斯的观点。这是一个显示JS String Object函数的页面。

http://www.w3schools.com/jsref/jsref_obj_string.asp

使用上述信息,您可以使用上述信息编写自己的函数:例如。如果你想修剪一个字符串你会做这样的事情来允许一定数量的字符(这个添加省略号,你当然可以删除它):

String.prototype.trim= function(num){
   var str = this;
   if (!num) {
      num = 20;
   }
   if (str.length > num) {
      str = str.slice(0, num);
      str += '...';
   } else {
      str = this + '';
   }
   return str;

}
alert('this string needs to be shorter'.trim(10));

输出将是:这个strin ......