将方法添加到node.js express.js coffeescript中的字符串类

时间:2013-03-24 13:26:22

标签: coffeescript

我想在express.js(coffeescript)中将一些我的方法添加到泛型类型,如string,int等。我是节点中的全新人物。我想这样做:

"Hi all !".permalink().myMethod(some).myMethod2();
5.doSomething();
variable.doSomethingElse();

怎么做?

2 个答案:

答案 0 :(得分:5)

您可以使用以下方法向String原型添加方法:

String::permaLink = ->
   "http://somebaseurl/archive/#{@}"

String::permalinkString.prototype.permaLink

的简写

然后你可以这样做:

somePermalink = "some-post".permaLink()
console.log somePermalink.toUpperCase()

这将调用“String.prototype.permaLink”函数,并将“this”设置为“some-post”字符串。然后,permaLink函数创建一个新字符串,最后包含字符串值“this”(Coffeescript中为@)。 Coffeescript自动返回函数中最后一个表达式的值,因此permaLink的返回值是新创建的字符串。

然后,您可以对字符串执行任何其他方法,包括您使用上述技术自己定义的其他方法。在这个例子中,我调用了UpCase,一个内置的String方法。

答案 1 :(得分:0)

您可以使用prototype来扩展String或使用新函数的int对象

String.prototype.myfunc= function () {
  return this.replace(/^\s+|\s+$/g, "");
};
var mystring = "       hello, world        ";
mystring.myfunc();

'hello, world'