2012-03-16 63 views
1

我运行Java应用程序中的JavaScript和有一个GUI终端在那里我可以通过调用打印件事情:是否可以重新定义JavaScript打印功能?

js.say("foo") 

(JS是一个导入的Java对象,所以啊,我在JVM上运行)。现在我想重新定义一个:

print("foo") 

打电话给js.say("foo")。我可以这样做:

> b = function(s) {js.say(s)} 
[email protected] 

> b("wee") 
wee 

但是当我做:

> print = function(s) {js.say(s)} 
[email protected] 

> print("wee") 

看来我不祈求新的打印功能,但同样的旧的,如果你明白我的意思。有没有办法做我想做的事,或者我在这里做了什么根本错误的事情?

回答

1

某些函数名和变量是语言名称空间的一部分,因此您无法重新定义它们。

你可以做什么,你已经在第一个例子中做了,就是定义一个新的函数'textout'并定义一个动作。

相关问题