我收到错误:unknown type "tring" ( throw new Error('Unknown type "' + name + '"' + ', math.js (line 751, col 16))
math.js
。同样的错误来自math.min.js
。我已从存储库https://github.com/josdejong/mathjs下载了math.js
个包,并将其解压缩到C:\Bitnami\wampstack-5.6.20-0\apache2\htdocs\sym\crm\web\js\mathjs\
将单行包含在javascript中出现错误:
var parser = math.parser();
来自官方示例: http://mathjs.org/docs/expressions/parsing.html#parse
除了jQuery之外,没有其他库。
如果我浏览math.js
文件,我找不到任何变量"tring"
。
这是一个symfony项目父模板。
C:\Bitnami\wampstack-5.6.20-0\apache2\htdocs\sym\crm\src\CrmBundle\Resources\views\basePlotCalc.html.twig
{% block javascripts %}
<script src="{{ asset('js/jquery-2.2.3.min.js') }}"></script>
<script src="{{ asset('js/mathjs/dist/math.js') }}"></script>
{% endblock %} {# javascripts#}
答案 0 :(得分:0)
现在,经过一段时间后,我发现错误的产生是因为我提供的不是要解析的字符串,而是尝试在解析括号中创建字符串。见下面的例子。好像,之前这个错误仍然存在于浏览器的内存中,它让我觉得它起源于var parser = math.parser();
我后来尝试过(我的意思是先尝试解析(字符串表达式),得到错误并没有注意到,并且比我尝试解析器,似乎错误来自他)。
C:\Bitnami\wampstack-5.6.20-0\apache2\htdocs\sym\crm\src\CrmBundle\Resources\views\moinpl\m1i1LoadJs1d.html.twig
{% block javascripts %} {{ parent() }}
<script>
window.onload = ( function() {
var parser = math.parser(); // now gives error parser is not defined.
var list = [10, 20, 60];
var node = math.parse( 'sum('+list.toString()+')' ); //gives the error error : 'Unknown type "' + name + '"' + ', math.js (line 751, col 16))`
var tmpstr = 'sum('+list.toString()+')';
var node = math.parse( tmpstr ); // works
/* the rest of relevant code:
var code = node.compile();
var result = code.eval();
console.log('result ='+ result);
console.log('It works!', parser.eval('sqrt(3^2 + 4^2)')); */
math.eval('a * b', { a: 3, b: 4 } ); //gives the error error : 'Unknown type "' + name + '"' + ', math.js (line 751, col 16))`
scope = { a: 3, b: 4 }; math.eval(scope); //works
});
</script>
{% endblock %} {# javascripts#}
另一方面,现在我每次刷新浏览器时都会使用Alt+F5
清理Mozilla现金,我会收到另一个错误"parser is not defined"
。
答案 1 :(得分:0)
我发现这样的问题,是一个错误:未知类型“字符串”,
常用方法:
编辑math.js,使用调试模式,查找未知类型的函数...字符串,并补充2次“”
math.js代码,例如...
函数u(t){t = t.replace(“”,“”); t = t.replace(“”,“”); ...
只需删除空白两次