是否有一个 JavaScript 库包含丰富的非常高级的常用函数?

问题描述 投票:0回答:5

我发现大多数知名的 javascript 库(例如 jquery、YUI...等)都缺少许多高级功能。以字符串操作为例,startsWith、endsWith、contains、lTrim、rTrim、trim、isNullOrEmpty...等。这些功能其实都是很常见的。

我想知道是否存在一个javascript库/javascript库插件可以填补这些空白(包括但不限于字符串操作)?

如果库不重写原型那就太好了。

javascript javascript-framework high-level
5个回答
9
投票

看看 underscore.js (遗憾的是,没有字符串操作,但有很多其他好东西)。


3
投票

大多数字符串函数都可以使用与字符串对象关联的其他方法来使用,例如

var myString = 'hello world';

myString.indexOf('hello') == 0; //same as startsWith('hello');

如果您愿意,您可以将这些函数包装到其他函数中。我认为向字符串对象添加原型将是到达那里的方法,并且您找到的任何库都可能会沿着这条路线走下去。


2
投票

ms ajax core库包含所有这些字符串方法以及日期方法等。基本上是将.net引入js的勇敢尝试。

您不需要加载整个 MS Ajax js 堆栈,只需加载核心文件。


1
投票
如果您不想扩展原型,所有这些都可以使用包装器轻松实现

var StringWrapper = (function(){ var wrapper = { string: null, trim: function(){ return this.string.replace(/^\s+|\s+$/g, ""); }, lTrim: function(){ } }; return function(string){ wrapper.string = string; return wrapper; }; })(); StringWrapper(" aaaa bbbb ").trim(); /// "aaaa bbbb"

这些函数只被创建一次,因此非常高效。但是在辅助对象上使用包装器确实会产生一次额外的函数调用。


1
投票

underscore.string看起来可能适合您的需求。他们是这样描述的:

Underscore.string 是一个 JavaScript 库,用于舒适地操作字符串,Underscore.js 的扩展受到 Prototype.js、Right.js、Underscore 和漂亮的 Ruby 语言的启发。

Underscore.string 为您提供了几个有用的函数:capitalize、clean、includes、count、escapeHTML、unescapeHTML、insert、splice、startsWith、endsWith、titleize、trim、truncate 等。

© www.soinside.com 2019 - 2024. All rights reserved.