Замените
setTimeout("postinsql(topicId)", 4000);
на
setTimeout("postinsql(" + topicId + ")", 4000);
или еще лучше, замените строковое выражение на анонимную функцию
setTimeout(function () { postinsql(topicId); }, 4000);
EDIT:
Комментарий Браунстоуна неверен, это будет работать так, как было показано, как показано на рисунке ниже, в этом случае в консоли Firebug
(function() {
function postinsql(id) {
console.log(id);
}
var topicId = 3
window.setTimeout("postinsql(" + topicId + ")",4000); // outputs 3 after 4 seconds
})();
Обратите внимание, что я согласен с другими, что вам следует избегать передачи строка в setTimeout
, так как это вызовет eval()
в строке и вместо этого передаст функцию.
Из трех я использовал (Mac OS X, Linux, Windows), я считаю Linux лучшим местом, чтобы сделать разработку Java.
Моей основной персональной машиной является Mac, и я сделал довольно большую разработку Java там и был доволен ею. К сожалению, однако, Apple отстает от официальных выпусков JDK, и Вы в значительной степени ограничены несколькими версиями, которые они принимают решение обеспечить.
Моя обеспеченная работодателями машина является старым ящиком P4 от HP, который я использую главным образом, чтобы прочно держаться на ногах теплый. Реальная работа происходит "Oberon" на четырехъядерном выполнении на 2,6 ГГц Ubuntu 8.04 в 32-разрядном режиме [1]. Два преимущества, которые я замечаю ежедневный по сравнению с Windows:
можно получить те преимущества от Mac также, но Linux предлагает другую хорошую премию:
[1] я раньше выполнял Ubuntu в 64-разрядном режиме, но у меня не было конца проблемы. (Смешивание 64-разрядного и 32-разрядного является чем-то, что Mac OS X делает очень лучше.) 7.04 хорошо работал, запуская 32-разрядные приложения на 64-разрядном ядре. 7.10 повредился linux32
сценарий и способность установить новые 32-разрядные приложения хотя старые, продолженные, чтобы (главным образом) работать. 8.04 уничтожил 32-разрядный Java, лишив возможности соединяться с сетью от 32-разрядной JVM (больше обновлений для Eclipse). Рабочий 64-разрядный Eclipse не работал надежно. Тогдашняя текущая версия кислорода только выполнила бы (неохотно) под IBM 64-разрядный VM, который будет работать в течение приблизительно 10 минут, пока это не прекратило получать события клавиатуры. Я наконец сдался в разочаровании и использовал свой Mac в течение нескольких месяцев, пока у меня не было достаточного количества времени простоя, чтобы сделать 32-разрядную установку 8,04 на поле Linux. Теперь все работает снова, и я довольно счастлив.
Ваша среда разработки ДОЛЖНА СОВПАСТЬ С ПРОИЗВОДСТВОМ.
нет никакой "лучшей среды разработки", которая не идентична Вашей продуктивной среде. Выполненный, что Вы выполняете в производстве в разработке.
Однако который не означает, Вы не можете выполнить свой IDE, например, на другой ОС, если Вы все еще делаете разработку в той же системе как производство (на другой машине или VM, например).
Я использовал Linux, Windows и OS X. Мой большой спор в пользу OS X - то, что это - удобная для пользователя операционная система (т.е. Я могу выполнить iTunes, самые современные браузеры, и не должен выделять 50% моего времени, поддерживая его на ноутбуке как Linux) с основой Unix. Поскольку большая часть моей разработки для систем Unix, это делает жизнь чрезвычайно более продуктивной. Кроме того, существует сообщество все более активной разработки позади платформы здесь. Они обосновывают также работу наоборот для Windows - в то время как cygwin закрывает некоторые мои требования для использования инструментов Unix - это - ничто как наличие реальной системы Unix.
Ответ является easiear, чем Вы могли бы думать: используйте свою любимую ОС. Для Java это - лучший ответ. Не сама разработка, но Ваш комфорт поможет Вашему успеху, просматривая документы и т.д. в Вашей любимой среде.
Windows и Eclipse работают хорошо, как pmiller предложенный. Я могу также рекомендовать OS X или с Eclipse или с ИДЕЕЙ IntelliJ (последний также работает над Windows, также).
я только когда-либо делал самую основную разработку Java на Солярисе (практика программирования структур основных данных в Университете), таким образом, я не могу предложить реальное сравнение, я боюсь. Я действительно находил его довольно болезненным на Солярисе, тем не менее, из-за отсутствия надлежащих инструментов (я думаю, что был ограничен nedit или чем-то).
Одна вещь, которую необходимо принять во внимание, состоит в том, собираетесь ли Вы быть разработкой приложения, которое могло бы быть запущено на Mac. Я люблю OS X, но старый добрый steve удостоверился, что мы всегда - много версий JDK позади. Мы едва-едва получили Java 6. Разработка на Mac может, по крайней мере, обеспечить, чтобы Вы работали под самой низкой версией JDK.
Я сказал бы Mac OS X.
разработка Java встроена. Все инструменты командной строки Unix Вы хотите. Из поля. Муравей и знаток там. Не последние версии, но это достаточно легко обновить.
Да, у Вас не могло бы быть очень последней версии JDK, но действительно, если у Вас нет потребности разработать для последнего и самого большого JDK, это не будет проблемой.
"разработка"?
я полагаю, что необходимо придерживаться ОС, Вы являетесь самыми довольными, или который является самым доступным большой группе (разработчиков), как, например, ряд ПК в Windows.
редко должно сделать всестороннюю настройку на разработка платформа.
Вы зарезервировали бы все те dtrace и другую производительность, настраивающуюся на платформу блока (например, в Linux) для ежедневного развертывания, где все перекомпилировано и протестировано на единицу.
И затем Вы могли настроить специальную JVM (как IBM JRockit вместо Sun JRE), чтобы сделать некоторый анализ Вашей платформы интеграции, где вся Ваша система может быть протестирована по всей длине с напряжением и нерегрессионным тестом
И наконец, сделайте весь UAT (Тесты Приемлемости для пользователя) на платформе подготовки производства (который может быть дорогим F15K или SunFire880 или V490 или...), с целевой JRE, используемой там.
Моя точка: существует столько параметров, чтобы принять во внимание между разработкой и выпуском в производство, что переключение ОС на такой ранней стадии может оказаться ненужным.
Лично, я не обеспокоился бы. Я использовал бы платформу, что лучшие поддержки средства разработки и целевая платформа, которую Вы используете.
, Почему необходимо настроить JVM? Это - очень необычная вещь хотеть сделать. Вы лучше записали бы на более низком языке уровня как C++?
Dtrace доступен для OS X, также существует порт Linux. Солярис исторически имел репутацию быть медленным (следовательно псевдоним Slowaris). Я не уверен, верно ли это все еще.
Я имел успех прежде, чем сделать разработку Java в Windows с Eclipse. Кажется, что Вы также спрашиваете о развертывании/хостинге. Какой бы ни ОС является лучшей для запуска приложения на, не должен действительно утверждать то, что ОС Вы используете для разработки приложения.
Разработайте, на чем Вам нравится. Как программист Java Вы могли бы хотеть избежать Mac OS X, прежде всего, потому что новые возможности, кажется, были значительно отложены, и также потому что можно найти, что Вы больше не получали машину, которая поддерживает новые версии Java. Говорить, что я предполагаю разрабатывать на Mac OS X, должно быть очень хорошим (интерфейс командной строки, dtrace, хорошая ОС).
я разрабатываю на окнах с IntelliJ 7. Это в порядке, но нуждается в некоторых значительных аппаратных средствах. Я тогда развертываюсь на solaris/linux. Если Вы не пишете GUI или интегрируетесь с кодом C++, необходимо быть прекрасным выбором, вообще поражает воображение.
Разработайте, на каком Вы довольны, и тест на том, на чем Вы развертываетесь.
я добираюсь, чтобы разработать Java на моем Mac и развернуться на Солярисе и Linux. Истина - то, что для объема задач, Java может быть разработан независимым от операционной системы способом. Это особенно верно для серверной разработки.
мне нравится разрабатывать на Unix в целом по полю Windows, но это - я.
Windows очень хорошо.
Солярис является замечательной средой разработки Java также (мне нравится он лучше, чем Windows, но по субъективным причинам), но если Вы не развертываетесь на нем, на это не могло бы стоить переключаться.
Linux является немного неуклюжим для разработки Java, но выполнимым.
единственным, который я не могу рекомендовать, является Mac, потому что они находятся всегда до сих пор позади на версии доступного Java (Не обеспеченный Sun, Apple делает их собственное).
Мой лучший совет - развивать платформу, на которую вы ориентируетесь. Таким образом, когда вы запускаете его во время тестирования разработки и запускаете свои модульные тесты, вы знаете, что он будет работать и на целевой платформе, без каких-либо неприятных сюрпризов.
Если вы ориентируетесь на все платформы, то вы действительно можете захотеть разработать на Mac, потому что на Mac вас ждут самые неприятные сюрпризы. Что касается Java, то в Windows и Unix «просто работает», но не на Mac. Sun разрабатывает среду выполнения Java (JRE) для всех операционных систем, кроме Mac. Apple разрабатывает собственную JRE.
Если вы разрабатываете на Mac, вы, скорее всего, работаете с наименьшим общим знаменателем, поэтому то, что работает на Mac, должно работать и на других. Это был мой опыт.
За исключением этого, Я всегда рекомендую вам выбирать операционную систему в зависимости от того, работает ли она с вашим программным обеспечением. Выберите ОС, на которой работает ваша IDE и другие инструменты, которые вы используете для разработки и тестирования. Если нужные инструменты работают более чем в одной ОС, выберите ту, в которой они работают лучше всего.