2015-05-30 37 views
1

用JavaScript处理ProcessingJS。使本地函数成为全局函数

如果我在绘图函数之外定义一个函数,我该如何将这个函数传递给绘图函数(不需要复制和粘贴绘图函数)?

var myFunction = function() 
{ 
    code; 
} 

var draw = function(){ 
    myFunction(); 
}; 

你如何使一个功能全球?

我使用有限的环境,可汗学院,只有最简单的功能和命令可用。

感谢您的回复,并很抱歉成为初学者。

+0

删除myFunction前面的var – Mox

+0

不应该是函数myFunction(){}? @Oriol – Mox

+0

@Mox嗯,对不起,我读'var myFunction = function(){code;}',并认为你提示'myFunction = function(){code;}'。 – Oriol

回答

1

您可以将您的函数作为参数传递。例如:

var myFunction = function() {code;} 

var draw = function(f) { f(); }; 

draw(myFunction); 
0

您使用的语法无效。如果你想使全局函数并调用它里面draw(),只是声明它像一个普通的功能:

var myFunction = function() { // <-- note the "=" sign and "function" keyword here 
    code; 
}; 

var draw = function(){ 
    myFunction(); 
}; 
+0

对不起,我一直在粗心大意,忘了一部分,但是当我把它写在控制台中时是对的。它是固定的,谢谢。 – Quidam

1

我用汗学院了。有严格的语法规则在其他地方没有意义。回答这个问题,

var myFunction = function() { 
    /* Stuff */ 
}, draw = function() { 
    myFunction(); 
}; 

将工作得很好。

+0

谢谢。在我的情况下完美的答案。其他答案也很有趣。 – Quidam

+0

我会很乐意与您讨论语法上的差异。 – Quidam

+0

有一些着名的例子,比如'function myFunction(){}'被禁止,每条线上都需要分号等。 –

0

你要求的是在draw函数内调用myFunction。

这里是你会怎么做:

var myFunction = function(){ 
    //your code here 
} 

var draw = function(fun){ 
    fun(); 
} 

基本上,如果你想打电话给myFunction的()平局()函数中,你必须通过一个函数为平局(),这就是所谓的一个参数。像这样:var draw = (fun)在这里,fun是一个被传入draw的函数。现在你只需要使用fun()来调用它;

祝你好运!