Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将变量从javascript传输到math.js(getElementById())_Javascript_Getelementbyid_Math.js - Fatal编程技术网

将变量从javascript传输到math.js(getElementById())

将变量从javascript传输到math.js(getElementById()),javascript,getelementbyid,math.js,Javascript,Getelementbyid,Math.js,我正在尝试将javascript变量传输到math.js函数。变量(denexp)由getElementById获得,如下所示: 身体{ 字体系列:无衬线; } 兽穴 const sim=math.parser() const denexp=document.getElementById(“denid”).value; 模拟评估(“G=denexp”)//密度 然而,似乎math.js无法读取denexp 我得到以下错误: 未捕获错误:未定义的符号denexp 你有什么想法吗?在传递给eva

我正在尝试将javascript变量传输到math.js函数。变量(denexp)由getElementById获得,如下所示:


身体{
字体系列:无衬线;
}
兽穴
const sim=math.parser()
const denexp=document.getElementById(“denid”).value;
模拟评估(“G=denexp”)//密度
然而,似乎
math.js
无法读取
denexp

我得到以下错误:

未捕获错误:未定义的符号denexp

你有什么想法吗?

在传递给
evaluate
的字符串(
“G=denexp”
)中,Math.js希望只找到数字、单位和数学符号:
0.5
sin
sqrt
deg
,等等。您试图通过简单地将变量包含在字符串中来传递变量
denexp
,但是
“denexp”
不是Math.js可以理解的符号。相反,您必须将
denexp
的值附加到字符串:

sim.evaluate("G = " + denexp)
或者,如果您的浏览器目标支持模板文字:

sim.evaluate(`G = ${denexp}`)

或者,您可以为Math.js提供一个作用域,该作用域允许您在表达式中使用作用域中定义的任何变量:

var scope = {
  denexp: denexp
}
sim.evaluate("G = denexp", scope)
这样做的好处是,任何变量赋值(如
G=
此处)也将保存到作用域中(尽管简单地将一个变量赋值给另一个变量,就像在您的示例中所做的那样,不是很有用,也可能不是您的目标)