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

Is it possible to redefine the JavaScript print function?

本文关键字:定义 JavaScript 打印 功能 新定义 是否      更新时间:2023-09-26

我在Java应用程序中运行JavaScript,并有一个gui终端,在那里我可以通过调用打印内容

js.say("foo")

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

print("foo")

调用为对CCD_ 1的调用。我可以做:

> 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")

如果你明白我的意思的话,我似乎不是在调用新的打印函数,而是在调用同一个旧函数。有没有办法做我想做的事情,或者我在这里做了根本错误的事情?

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

您可以做的是定义一个新函数"textout"并定义一个操作,并且您在第一个示例中已经做过了。