2013-06-28 92 views
0

您可以使用在processing.js草图中直接或间接从全局作用域访问的变量和函数。有没有办法给它一个不同的对象作为全球范围来查找内容?设置从processing.js草图访问JavaScript对象的作用域草图

+0

当你想改变它们的范围时,这些函数是否已经在内存中?如果他们是,你将不得不重新宣布他们与你想要的范围,或者如果只是改变'this'就够了,用'call'或'apply'调用。 –

+0

那么,这取决于答案。 Processing.js将来自Processing的语言的代码转换为JavaScript,但由于执行发生在JavaScript环境中,因此Processing程序可访问全局JavaScript范围内的任何内容。然而,我想知道在processing.js中有一个设置来修改javascript输出,因此它在不同的范围内查找变量。 – bigblind

+0

你不能白名单,但你可以用非常讨厌的['with'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/with)加入黑名单,如果他们的代码在其代码块中被声明/定义。 –

回答

1

你不是很具体,所以我只是要你指向解释这对processingjs.org的文章:http://processingjs.org/articles/PomaxGuide.html#interface

这也解释了如何让你的草图使用JavaScript函数(不访问原始变量),以及如何让JavaScript调用您的草图函数(同样,不要访问原始变量,编写getter函数并调用它)。

+0

我在找什么,是如何限制草图可以调用的JavaScript函数,但我已经找到了一个不同的解决方案来解决我的问题。感谢您的帮助。 – bigblind