在阅读Secrets of the JavaScript Ninja时,我在部分功能应用程序中遇到了这段代码:
String.prototype.csv = String.prototype.split.partial(/,\s*/);
var results = ("Mugan, Jin, Fuu").csv();
console.log("results:", results);
但是,当我试图在jsfiddle(http://jsfiddle.net/Y2Tv4/)中运行它时,我收到了这个错误:
未捕获的TypeError:对象函数split(){[native code]}没有方法'partial'
如何将csv
功能添加到String.Prototype
?
答案 0 :(得分:0)
下面是执行此方法的代码和从@elclanrs获取的引用,给出了url good one bro。 看看这个FIDDLE http://jsfiddle.net/Y2Tv4/1/
Function.prototype.partial = function(){
var fn = this, args = Array.prototype.slice.call(arguments);
return function(){
var arg = 0;
for ( var i = 0; i < args.length && arg < arguments.length; i++ )
if ( args[i] === undefined )
args[i] = arguments[arg++];
return fn.apply(this, args);
};
};
String.prototype.csv = String.prototype.split.partial(/,\s*/);
var results = ("Mugan, Jin, Fuu").csv();
console.log(results);