Я использую этот код, чтобы помешать моей рабочей станции блокировать. Это в настоящее время только установлено переместить мышь один раз в минуту, Вы могли легко скорректировать его все же.
Это - взлом, не изящное решение.
import java.awt.*;
import java.util.*;
public class Hal{
public static void main(String[] args) throws Exception{
Robot hal = new Robot();
Random random = new Random();
while(true){
hal.delay(1000 * 60);
int x = random.nextInt() % 640;
int y = random.nextInt() % 480;
hal.mouseMove(x,y);
}
}
}
Это не работает?
function factory(class_) {
return new class_();
}
Я не понимаю, почему вы не можете использовать новый
.
Если вы действительно не хотите использовать ключевое слово new
, и вы не против поддержки только Firefox, вы можете установить прототип сами. На самом деле в этом нет никакого смысла, поскольку вы можете просто использовать ответ Дэйва Хинтона.
// This is essentially what the new keyword does
function factory(clazz) {
var obj = {};
obj.__proto__ = clazz.prototype;
var result = clazz.call(obj);
return (typeof result !== 'undefined') ? result : obj;
};
Я думаю, что независимое решение браузера будет лучше
function empty() {}
function factory(clazz /*, some more arguments for constructor */) {
empty.prototype = clazz.prototype;
var obj = new empty();
clazz.apply(obj, Array.prototype.slice.call(arguments, 1));
return obj;
}