-1

所以可以说我有一个服务器,它返回一个字符串,如:

{
    add:function(a,b) {
        return a+b;
    },
    subtract:function(a,b) {
        return a-b;
    }   
}

是否可以将其解析为函数?

我试图用以下方式解析它:

$parse(element.Content) // Content is the string above

但得到

Token '{' is an unexpected token

我想要类似的东西:

elementFunctions = $parse(element.Content)
4

1 回答 1

0

$parse不做你认为它做的事!

简而言之,它只是根据某些上下文(角度范围)通过名称解析属性- 基本上。 好吧,不仅如此,它还提供了一种与这些属性交互的方法,但是您可以通过快速查看它的文档来了解它的要点。


它不会将s评估 String为 javascript 代码。

您很可能希望eval评估您的string.
虽然在很多很多情况下都有更好、更快、更可控、更合理的解决方案!

const code = ''
+   'const functions = {'
+       'add: function(a,b) {'
+           'return a+b;'
+       '},'
+       'subtract: function(a,b) {'
+           'return a-b;'
+       '}'
+   '};'
+   'functions';

console.log(eval(code).add(50, 1));

于 2016-11-20T17:06:48.740 回答