如何评估字符串化的类方法?

时间:2017-12-11 17:30:22

标签: javascript eval

我正在序列化函数以通过网络发送它们。然后,它们从字符串形式执行到另一侧。

我可以这样做:

function test1() { console.log("test1") }
eval(`(${test1})`)()

我也可以这样做:

const test2 = function() { console.log("test2") }
eval(`(${test2})`)()

这也有效:

const test3 = () => { console.log("test3") }
eval(`(${test3})`)()

(所有这些都产生不同的字符串化版本的函数)

然而,这失败了:

class A {
    test4() { console.log("test4") }
}
const a = new A
eval(`(${a.test4})`)()

错误是Unexpected token {,因为字符串化方法是test4() { console.log("test4") },它不是有效的函数声明(它既不是命名也不是匿名)。

静态方法无法解决问题(结果相同)。

我的问题是:通过网络发送类方法的最佳方法是什么?感谢

0 个答案:

没有答案