2012-03-16 4 views
1

Я бег JavaScript внутри приложения Java и иметь графический терминал, где я могу печатать вещи по телефону:Возможно ли переопределить функцию печати 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» и определить действие.

Смежные вопросы