3
是否可以創建自己的定製,我相信這個術語是'方法'?例如,像這樣:自定義替換方法?
其中replaceSpecial()將自動替換說,與別的字母e。
我對這樣做感興趣的原因是因爲我想要做的是抓取字符串,然後運行大量的替換動作,所以我希望當我調用replaceSpecial()時它會運行功能。
感謝
是否可以創建自己的定製,我相信這個術語是'方法'?例如,像這樣:自定義替換方法?
其中replaceSpecial()將自動替換說,與別的字母e。
我對這樣做感興趣的原因是因爲我想要做的是抓取字符串,然後運行大量的替換動作,所以我希望當我調用replaceSpecial()時它會運行功能。
感謝
您可以添加方法String.prototype
,這將成爲提供給所有字符串。例如,trim()
就是在大多數庫中實現的。
String.prototype.replaceSpecial = function() {
return this.replace(/l/g, 'L');
};
"hello".replaceSpecial(); // heLLo
但是請注意,它通常是一種不好的做法,在本機的原型定義非常具體功能。以上是完全相同的問題的一個很好的例子。對於這種特定情況,請考慮使用自定義函數或包裝來完成這項工作。例如,可以在自定義命名空間下使用。
var StringUtils = {
replaceSpecial: function(str) { .. },
..
};
StringUtils.replaceSpecial("hello"); // heLLo
謝謝你的幫助。 :) – Pete 2010-07-24 21:21:14
非常歡迎:) – Anurag 2010-07-24 21:29:34
+1。值得一提的是,增加Object.prototype或Array.prototype是不好的。有一些情況下,修改其他內置構造函數的原型也很粗略......例如,dynarch日曆腳本修改了'Date.prototype',最終打破了其他一些常見腳本,我不記得哪一個此時此刻。 – 2010-07-24 21:34:50