是否可以重新定义JavaScript打印功能?

时间:2012-03-16 10:12:46

标签: javascript

我在Java应用程序中运行JavaScript并且有一个gui终端,我可以通过调用来打印东西:

js.say("foo")

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

print("foo")

致电js.say("foo")。我能做到:

> b = function(s) {js.say(s)}
sun.org.mozilla.javascript.internal.InterpretedFunction@39ffbc2e

> b("wee")
wee

但是当我这样做时:

> print = function(s) {js.say(s)}
sun.org.mozilla.javascript.internal.InterpretedFunction@6a7c8bd

> print("wee")

似乎我没有调用新的打印功能,但是如果你让我的漂移,那就是旧的打印功能。有没有办法做我想做的事情,或者我在这里做了一些根本错误的事情?

1 个答案:

答案 0 :(得分:1)

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

在第一个示例中,您可以执行的操作是定义新的函数“textout”并定义操作。