首页 > 解决方案 > 引用,然后调用原型函数

问题描述

我正在尝试制作一系列函数,以便我可以训练机器学习算法。我遇到的一个问题,例如:

var fun = [String.prototype.split];
var str = 'test1&test2';
var result = str.fun[0]('&');

给我“无法读取未定义的属性 0”的错误。这是因为 str 本身没有要调用的字面 fun 数组。纠正这个问题的唯一方法是包装每个函数,如下所示,或者还有另一种方法:

function splitter (str1, str2) {
  return str1.split(str2);
}
var fun = [splitter];
var str = 'test&test';
var result = fun[0](str, '&');

如果有另一种方法可以做到这一点,我真的很想知道,因为它会为我节省很多时间来包装上面的每个函数。

标签: javascriptfunctionreferenceundefinedprototype

解决方案


var arr = [String.prototype.split];
var str = 'test&test';
arr[0].call(str, '&');

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call


推荐阅读