Javascript 无法将值传递给函数

Javascript 无法将值传递给函数,javascript,Javascript,我有一个函数draw_integer(n,s,x,y,plotx),它在HTML5画布上的坐标(x,y)中绘制一个整数n,我在另一个函数draw_num()中调用这个函数,如下所示, (plot0、number和size是画布、number和size输入字段的各自id, 函数drawnum()将由onclick事件触发。) 在drawnum下调用的draw_integer函数没有执行,我无法确定是什么问题 使用console.debug()返回用户输入的数字和大小的适当值,如果我使用draw_i

我有一个函数draw_integer(n,s,x,y,plotx),它在HTML5画布上的坐标(x,y)中绘制一个整数n,我在另一个函数draw_num()中调用这个函数,如下所示,
(plot0、number和size是画布、number和size输入字段的各自id, 函数drawnum()将由onclick事件触发。)

在drawnum下调用的draw_integer函数没有执行,我无法确定是什么问题

使用console.debug()返回用户输入的数字和大小的适当值,如果我使用draw_integer(3100100100,plot0)(大小为100的draw number 3)而不是draw_integer(n,s,100100,plot0),它也可以工作

这意味着在将变量n和s从drawnum()传递到draw_integer()时发生了一些错误

考虑到这可能是由于变量的局部范围,我尝试了这个

var n = document.getElementById('number').value;
var s = document.getElementById('size').value;

function drawnum() {
console.debug(n,s);
draw_integer(n,s,100,100,plot0);   // this  doesn't get executed
}   

function draw_integer(n,s,x,y,plotx){ //lots of code }
但这也不起作用

你能帮我解决这个问题,或者提出一个更好的解决方法吗

var n = document.getElementById('number').value;
var s = document.getElementById('size').value;
上面的变量
n
s
是字符串而不是数字。您需要使用parseFloat或parseInt来转换它

var n = parseInt(document.getElementById('number').value, 10);
var s = parseInt(document.getElementById('size').value, 10);

您在哪里声明
plot0
?请使用jsfiddle.net复制您的error@sgrovesplot0已在全局范围内声明。
var n = parseInt(document.getElementById('number').value, 10);
var s = parseInt(document.getElementById('size').value, 10);