Это не очень хороший метод для генерации случайных чисел в заданном диапазоне. (На самом деле это очень и очень плохо для большинства генераторов)
Вы предполагаете, что младшие биты от генератора распределены равномерно. Это не относится к большинству генераторов. В большинстве генераторов случайность встречается в старших разрядах.
Используя остаток после деления, вы фактически выбрасываете случайность.
Вы должны масштабировать, используя умножение и деление. Не используется оператор по модулю. например,
my_numbe r= start_required + ( generator_output * range_required)/generator_maximum;
Если generator_output
в [0, generator_maximum]
, my_number
будет в [start_required , start_required + range_required]
.
SVG - это открытый стандарт , разработанный W3C . Я действительно не думаю, что он умирает в ближайшее время. Тот факт, что некоторые компании решают отказаться от его использования в своих коммерческих продуктах (обычно потому, что им нужно или считают, что они нуждаются в чем-то более индивидуальном), это вовсе не означает, что SVG исчезнет в более глобальном масштабе.
На данный момент , это, несомненно, наиболее широко используемый формат векторной графики в Интернете. Возьмем, к примеру, изображения в Википедии - почти для всех диаграмм либо используется SVG, либо есть уведомление о том, что его следует использовать. Многие другие проекты с открытым исходным кодом одобряют его аналогичным образом.
Теперь язык разметки XAML (часть WPF / Silverligtht) некоторыми рассматривается как конкурент SVG, но на самом деле они лишь частично совпадают по функциональности. (XAML поддерживает множество других вещей, таких как привязка данных, события, триггеры и т. Д.) Действительно, общее использование XML сильно ограничено тем, что браузеры не поддерживают его изначально (и не могут должным образом из-за того, что он тесно связан с технологиями MS). Я бы даже не поверил, что это прямой конкурент SVG или что Microsoft намеревалась сделать это.
В заключение, я не думаю, что можно ожидать исчезновения SVG до тех пор, пока не появится что-то явно улучшенное (и открытое по стандарту). заменить его. Насколько мне известно, на данный момент ничего подобного нет.
t изначально поддерживает его (и не может должным образом из-за того, что он тесно связан с технологиями MS). Я бы даже не поверил, что это прямой конкурент SVG или что Microsoft намеревалась сделать это.В заключение, я не думаю, что можно ожидать исчезновения SVG до тех пор, пока не появится что-то явно улучшенное (и открытое по стандарту). заменить его. Насколько мне известно, на данный момент ничего подобного нет.
t изначально поддерживает его (и не может должным образом из-за того, что он тесно связан с технологиями MS). Я бы даже не поверил, что это прямой конкурент SVG или что Microsoft намеревалась сделать это.В заключение, я не думаю, что можно ожидать исчезновения SVG до тех пор, пока не появится что-то явно улучшенное (и открытое по стандарту). заменить его. Насколько мне известно, на данный момент ничего подобного нет.
должен быть возможен доступ к элементам через XPath. Но в целом это не так хорошо работает. Тем более, что вы хотите сделать это на стороне клиента с любой библиотекой XPath, установленной на клиентском компьютере. Не очень полезно и, скорее всего, потерпит неудачу.Однако с HTML вы можете указать классы и имена для идентификации определенных элементов на вашей странице, а в JavaScript есть множество функций, которые вместо этого могут просто использовать эти методы. См. Простой пример http://onlinetools.org/articles/unobtrusivejavascript/chapter2.html . По сути, JavaScript имеет встроенную поддержку HTML DOM, но не XML DOM.
Не очень полезно и, скорее всего, потерпит неудачу.Однако с HTML вы можете указать классы и имена для идентификации определенных элементов на вашей странице, а в JavaScript есть множество функций, которые вместо этого могут просто использовать эти методы. См. Простой пример http://onlinetools.org/articles/unobtrusivejavascript/chapter2.html . По сути, JavaScript имеет встроенную поддержку HTML DOM, но не XML DOM.
Не очень полезно и, скорее всего, потерпит неудачу.Однако с HTML вы можете указать классы и имена для идентификации определенных элементов на вашей странице, а в JavaScript есть множество функций, которые вместо этого могут просто использовать эти методы. См. Простой пример http://onlinetools.org/articles/unobtrusivejavascript/chapter2.html . По сути, JavaScript имеет встроенную поддержку HTML DOM, но не XML DOM.
К сожалению, вы не можете использовать XPath только с Javascript и HTML, но большинство фреймворков Javascript имеют селекторы, которые предоставляют вам функциональность, подобную XPath (например, jQuery )
редактировать: Есть API xpath для конкретного браузера вы можете использовать, но я бы не рекомендовал использовать их без абстракции.
В IE запросы xpath выполняются с использованием:
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.load("books.xml");
xmlDoc.selectNodes(xpath);
См. http://www.w3schools.com/XPath/xpath_examples.asp
Однако это работает только для xml. Для запросов xpath в html вам потребуется сторонняя библиотека, например http://dev.abiss.gr/sarissa/
Также см. Различные результаты выбора HTML-элементов с помощью XPath в Firefox и Internet Explorer для предыдущего обсуждения по теме
Вы можете использовать следующее для доступа к элементу с известным XPATH
document.evaluate ("X_PATH_EXPRESSION", document, null, XPathResult.ANY_TYPE, null) .iterateNext ()
Например, для доступа к элементу с идентификатором myID
document.evaluate ("// * [@ id = 'myID']", document, null, XPathResult.ANY_TYPE, null) .iterateNext ()
Я тестировал это с помощью firefox 3.6