Что касается второго вопроса, в JS есть сл. типы данных:
number
string
boolean
function
array
object
regexp
error
date
undefined
null
Что касается undefined и null — то это изврашение именно JS и о них стоит говорить отдельно. Они оба обозначают ровно «ничего».
Есть так же типы, которые считаются примитивами — string, boolean и number. Примитивы потому, что они единственные, которые передаются по значению. Все остальное передается по ссылке. Соответственно в вашем примере да, объект admin это ссылка на объект root, поэтому у a и есть свойство root.
В тоже время в общем-то практически все в JS является объектом, т.к. у всех типов (кроме undefined и null) есть конструктор, при создании через который (с ключевым словом new) в переменной будет хранится не типизированное значение, а объект. Как-то так.
Нашел небольшую недоработку что ли: при примере с 3 баннерами и разными ценами (5,3,1) все отрабатывает идеально. На практике же баннеров будет больше 100 -> если оставить алгоритм по такой схеме, то проценты вероятности показа каждого баннера будут меньше 1%. Нужно группировать по ценам. То есть есть 10 баннеров с ценами 1,1,2,2,2,3,3,3,3,3 — тогда получаем 1-20% (0-20), 2-30% (20-50), 3-50% (50-100) и дальше если попадаем, скажем, в промежуток (50-100), то уже рандомно берём баннер с ценой 3 рубля.
В общем-то я реализовал данный алгоритм, пока локально на кривых данных и с выборкой из массива, а не из БД — но сам по себе алгоритм работает как мне нужно. Спасибо.
Я так понимаю, что предложенное Вами решение и то, что выше (которое я пометил как решение) — одно и тоже, только разными словами? Тогда предлагаю обсуждать его там.
Это не то, что нужно. Зачем мне глобальная переменная, которая будет тянутся везде и всегда? Решение уже найдено, нужно устанавливать параметры события в Listener-е.
Добавьте submit, и повесьте на onclick кнопки и на onsubmit формы вашу функцию. таким образом, пользователи без поддержки ajax также смогут пройти авторизацию.
Так же у input-ов д.б. имена, проверьте.
Там используется не pngfix, а belatedPNG. Или Вы под названием «pngfix» имели ввиду впринципе решение проблемы с пнг в ие6, а не частное решение данной проблемы? Честно признаться сам я давненько использовал эти решения, поэтому не могу возразить, но когда доходилось — все работало. А про разное поведение — можно поподробнее, может быть я действительно чего-то не замечал. Хотя я использую boilerplate скорее для других вещей (например .htaccess).
Например раздел «Объекты и их свойства» ( shamansir.github.com/JavaScript-Garden/#object.general ) для понимания, почему происходит SyntaxError из примера выше.
Так же раздел «Автоматическая вставка точек с запятой» ( shamansir.github.com/JavaScript-Garden/#core.semicolon ) будет полезен.
Что касается второго вопроса, в JS есть сл. типы данных:
Что касается undefined и null — то это изврашение именно JS и о них стоит говорить отдельно. Они оба обозначают ровно «ничего».
Есть так же типы, которые считаются примитивами — string, boolean и number. Примитивы потому, что они единственные, которые передаются по значению. Все остальное передается по ссылке. Соответственно в вашем примере да, объект admin это ссылка на объект root, поэтому у a и есть свойство root.
В тоже время в общем-то практически все в JS является объектом, т.к. у всех типов (кроме undefined и null) есть конструктор, при создании через который (с ключевым словом new) в переменной будет хранится не типизированное значение, а объект. Как-то так.