html5 + javascript + css + jquery мои вопросы
html5 + javascript + css + jquery мои вопросы
это будет мой персональный бложик с быдловопросами по вебу
я начал учить яваскрипт и там что-то как-то не очень логично с точки зрения знаний о сях
я насчет функций и их определения
пока я не могу это написать, чтобы было всем понятно
сейчас посмотрю еще раз видео и напишу вопросы
я начал учить яваскрипт и там что-то как-то не очень логично с точки зрения знаний о сях
я насчет функций и их определения
пока я не могу это написать, чтобы было всем понятно
сейчас посмотрю еще раз видео и напишу вопросы
тематические ответы только в форуме, в приват не пишите
- Реклама
- blackx
- Говорящий с текстолитом
- Сообщения: 1518
- Зарегистрирован: Пт дек 28, 2012 21:56:46
- Откуда: St. Petersburg
Re: html5 + javascript + css + jquery мои вопросы
веб - это такая штука, где все не очень логично 
удачи в освоении
не буду спрашивать как ты до такого докатился
удачи в освоении
не буду спрашивать как ты до такого докатился
only pure true norwegian blackx 
Re: html5 + javascript + css + jquery мои вопросы
да я с 99го еще начал сцайт делать и изучать хтмл
сейчас просто подтягиваю свои знания
сейчас просто подтягиваю свои знания
тематические ответы только в форуме, в приват не пишите
Re: html5 + javascript + css + jquery мои вопросы
В процессе изучения Javascript рекомендую jQuery вообще пока не трогать -- это своего рода настолько большой и жирный слой абстракции, что если начинать с него, то будет совершенно непонятен, во-первых, сам джс -- см. легендарный вопрос на stackoverflow "как сложить два числа с помощью jQuery"
, а во вторых, будет жуткая мания воткнуть во все места, куда лапы дотянутся, по модной библиотеке...
jQuery -- это write less, do more, но в процессе обучения есть зело вредная вещь.
Буду рад помочь.
UPD. А, и с вопросами, пишите, не пойму -- задам парочку наводящих
jQuery -- это write less, do more, но в процессе обучения есть зело вредная вещь.
Буду рад помочь.
UPD. А, и с вопросами, пишите, не пойму -- задам парочку наводящих
Re: html5 + javascript + css + jquery мои вопросы
ну пока вопрос такой по синтаксису нелогичному
http://www.w3schools.com/js/js_functions.asp
зачем нужно создавать функцию, почему нельзя вызвать алерт прямо в onclick?
чем отличается document.onload от window.onload?
---
http://www.youtube.com/watch?feature=pl ... q6o#t=1988
почему функция init и handlebuttonclick вызывается без скобок?
http://www.w3schools.com/js/js_functions.asp
зачем нужно создавать функцию, почему нельзя вызвать алерт прямо в onclick?
чем отличается document.onload от window.onload?
---
http://www.youtube.com/watch?feature=pl ... q6o#t=1988
почему функция init и handlebuttonclick вызывается без скобок?
тематические ответы только в форуме, в приват не пишите
- Реклама
- blackx
- Говорящий с текстолитом
- Сообщения: 1518
- Зарегистрирован: Пт дек 28, 2012 21:56:46
- Откуда: St. Petersburg
Re: html5 + javascript + css + jquery мои вопросы
1) алерт можно сделать в onclick, просто когда захочешь туда что-то покрупнее алерта засунуть это будет малость неудобно. А в функцию легко добавить новых операторов.
2) емним первый происходит когда целиком загружается html (создается полное DOM дерево в памяти), второй - когда браузер готов что-то отобразить на экране - то есть, происходит раньше. Все используют window.onload, зачем document.onload нужен я не знаю
3) я так понял ты имеешь ввиду почему там вызывается init через "window.onload=init;" Отвечаю - это он не вызывается, это ссылка на функцию init присваивается полю onload объекта window. Когда происходит событие, браузер смотрит на значение этого поля и вызывает фукнцию, если на нее там есть ссылка.
2) емним первый происходит когда целиком загружается html (создается полное DOM дерево в памяти), второй - когда браузер готов что-то отобразить на экране - то есть, происходит раньше. Все используют window.onload, зачем document.onload нужен я не знаю
3) я так понял ты имеешь ввиду почему там вызывается init через "window.onload=init;" Отвечаю - это он не вызывается, это ссылка на функцию init присваивается полю onload объекта window. Когда происходит событие, браузер смотрит на значение этого поля и вызывает фукнцию, если на нее там есть ссылка.
only pure true norwegian blackx 
Re: html5 + javascript + css + jquery мои вопросы
у меня мозги разрывает эта логикаblackx писал(а):это ссылка на функцию init присваивается полю onload объекта window.
хотя бы скобки поставили чтоли, чтобы было видно функцию
тематические ответы только в форуме, в приват не пишите
- blackx
- Говорящий с текстолитом
- Сообщения: 1518
- Зарегистрирован: Пт дек 28, 2012 21:56:46
- Откуда: St. Petersburg
Re: html5 + javascript + css + jquery мои вопросы
мозг поначалу разрывает, но если копнуть глубже, то окажется, что все базируется на простых принципах
1) когда парсер браузера читает код JavaScript, в памяти сохраняется хэш-таблица всех встреченных им функций и переменных в виде пар имя-ссылка на объект. Ссылки на функции и переменные хранятся в одной куче.
2) когда объект в хэш-таблице - функция, его можно вызывать оператором (). () - оператор вызова функции. Принимает на вход ссылку на функцию function_ptr и набор аргументов [arg0, arg1, ...]. А возвращает он результат выполнения функции (то, что после return). Синтаксис такой: var result = <function_ptr>(<arg0>, <arg1>, ...);
то есть
это однозначный вызов init() с записью результата в call. а вот
это присвоение ссылки на init() переменной call. Все как с самыми обычными переменными.
Кстати, есть такой прикол, что можно отхватить г-на затерев сохраненную в хэш-таблице ссылку на функцию переменной с тем же именем и вот такой код например не будет работать:
1) когда парсер браузера читает код JavaScript, в памяти сохраняется хэш-таблица всех встреченных им функций и переменных в виде пар имя-ссылка на объект. Ссылки на функции и переменные хранятся в одной куче.
2) когда объект в хэш-таблице - функция, его можно вызывать оператором (). () - оператор вызова функции. Принимает на вход ссылку на функцию function_ptr и набор аргументов [arg0, arg1, ...]. А возвращает он результат выполнения функции (то, что после return). Синтаксис такой: var result = <function_ptr>(<arg0>, <arg1>, ...);
то есть
Код: Выделить всё
var call = init();Код: Выделить всё
var call = init;Кстати, есть такой прикол, что можно отхватить г-на затерев сохраненную в хэш-таблице ссылку на функцию переменной с тем же именем и вот такой код например не будет работать:
Код: Выделить всё
function init() {
alert("Hello!!!");
}
var init = 5;
init();
only pure true norwegian blackx 
Re: html5 + javascript + css + jquery мои вопросы
В основе всё те же указатели на функции как в Си. Например, как имя массива является указателем на его нулевой элемент, так и имя функции является указателем на её точку входа.
Иван Сусанин - первый полупроводник 
Re: html5 + javascript + css + jquery мои вопросы
1. Суть в разделении декларативного HTML от императивного JS.kalobyte писал(а):ну пока вопрос такой по синтаксису нелогичному
http://www.w3schools.com/js/js_functions.asp
зачем нужно создавать функцию, почему нельзя вызвать алерт прямо в onclick?
чем отличается document.onload от window.onload?
---
http://www.youtube.com/watch?feature=pl ... q6o#t=1988
почему функция init и handlebuttonclick вызывается без скобок?
Плохо:
Код: Выделить всё
<div onclick="/* js code */"></div>Код: Выделить всё
<div id="banner"></div>
<script>
document.getElementById('banner').onclick=function(){
alert('clicked!');
}
</script>Функция, присвоенная .onclick дом-элемента вызывается при совершении события click, но даже если попытаться просто присвоить alert:
Код: Выделить всё
document.getElementById('banner').onclick=alertЧто бы это обойти, мы либо создаём именованую функцию:
Код: Выделить всё
function handler(){ ... }Код: Выделить всё
document.getElementById('banner').onclick=handlerТ. е. на самом деле function(){} создаёт объект Функция и возвращает ссылку на неё.
function name(){} так же создаёт функцию, но при этом она именована: name.name //name
и name уже ссылается на неё.
Важно понимать, что функции в JS -- такие же объекты, как и любые другие:
Код: Выделить всё
function foo(){
//...
}
foo.prop="bar";
foo.prop; //bar
все объекты в области видимости, в которой создаётся функция, доступны во время исполнения функции
Код: Выделить всё
var bar="a";
var foo=function(){
return bar;
}
bar="b";
foo(); //b!!!!!
Так же следует понимать, что объект не может быть присвоен какой-нибудь переменной. Вообще.
Даже если прямо написать var variable=new SomeInterestingClass();, то будет создан объект без имени, будет взят адрес и присвоен variable, а т. к. операции разыменовывания var variable=*(new SomeInterestingClass()); в JS нема, то его не разыменуешь (плюсишник знает, что new берёт адрес, я же далее не знаю, но знаю, что в JS оператор new создаёт новый анонимный объект new Object() и устанваливает его в качестве контекста вызова функции SomeInterestingClass так, что он доступен из неё по ссылке this).
Код: Выделить всё
var obj1=new Object();
var obj2=obj1;
obj1.bar="foo";
console.log(obj1.bar);
console.log(obj2.bar);
obj2.bar="oops";
console.log(obj1.bar);
console.log(obj2.bar);
Объекты надо копировать (когда надо. А когда надо?) явно.
К скалярам это не относится.
2. document.onload не следует использовать. Вообще.
Везде следует использовать window.onload. При этом важно понимать, что это событие произойдёт после подгрузки ВЕГО, что только можно.
Это -- наиболее безопасное и раннее время загрузки, однако если нужно ещё раньше (для быстрее), то в большинстве случаев, когда уже надо оперировать DOM, можно ждать события DOMContentReady. Обработчик добавляется с помощью addEventListener().
Re: html5 + javascript + css + jquery мои вопросы
внезапно я
есть тут гуры бд типа mysql?
несмотря на то, что много лет назад в пту я сдал экзамен на отлично, я до сих пор нихера не понимаю в бд и проектировании оных
вот такой простой пример, а потом я скажу, что я не понимаю
возьмем таблицу стран и таблицу городов
в каждой стране может быть много городов, но и один город может быть в разных странах
например в пиндосии есть масква и берлин
нарисуйте мне схему в редакторе, чтобы это было наглядно
нужна ли 3я таблица связей?
напишите sql запрос на выборку
1 например показать все города из страны "а"
2 показать, в какой стране есть город "б"
а потом я скажу, какой момент я не понимаю, а то описать это даже не могу

есть тут гуры бд типа mysql?
несмотря на то, что много лет назад в пту я сдал экзамен на отлично, я до сих пор нихера не понимаю в бд и проектировании оных
вот такой простой пример, а потом я скажу, что я не понимаю
возьмем таблицу стран и таблицу городов
в каждой стране может быть много городов, но и один город может быть в разных странах
например в пиндосии есть масква и берлин
нарисуйте мне схему в редакторе, чтобы это было наглядно
нужна ли 3я таблица связей?
напишите sql запрос на выборку
1 например показать все города из страны "а"
2 показать, в какой стране есть город "б"
а потом я скажу, какой момент я не понимаю, а то описать это даже не могу
тематические ответы только в форуме, в приват не пишите
- blackx
- Говорящий с текстолитом
- Сообщения: 1518
- Зарегистрирован: Пт дек 28, 2012 21:56:46
- Откуда: St. Petersburg
Re: html5 + javascript + css + jquery мои вопросы
Для твоего примера отношение многие ко многим не нужно, Москва в США и Москва в России это все-таки разные города. Тут нужно отношение многие к одному - делается без таблицы связей, через внешний ключ.
Классический пример отношения многие ко многим - книги и авторы. У книги может быть много авторов, у автора - много книг. В таком случае нужна таблица связей.
Быстрое гугление подсказывает, что запрос делается через простой inner join, безо всяких хитростей.
http://stackoverflow.com/questions/8325 ... ny-to-many
Можешь создать на своей бд эти таблицы и проверить как оно работает.
Классический пример отношения многие ко многим - книги и авторы. У книги может быть много авторов, у автора - много книг. В таком случае нужна таблица связей.
Быстрое гугление подсказывает, что запрос делается через простой inner join, безо всяких хитростей.
http://stackoverflow.com/questions/8325 ... ny-to-many
Можешь создать на своей бд эти таблицы и проверить как оно работает.
only pure true norwegian blackx 
Re: html5 + javascript + css + jquery мои вопросы
ну тут не столько важен тип связи
я просто не пойму, вот эта связь в дизайнере - она как-то в коде структуры бд отображается или она чисто только наглядное пособие при разработке?
а весь запрос надо самому писать с учетом этого пособия?
мне почему-то кажется, что движок бд через эти связи сам знает, как по цепочке связей вытащить данные из связанных таблиц
или я туплю все же?
потом что когда я делал реверс бд вордпресса, то никаких стрелочек в дизайнере я не увидел
и как мне понять, что таблица а связана с таблицей б? смотреть в пхп коде сам запрос?
как мне узнать исходя только из этих таблиц сам запрос, чтобы например сделать экспорт постов с категориями и тегами?
я просто не пойму, вот эта связь в дизайнере - она как-то в коде структуры бд отображается или она чисто только наглядное пособие при разработке?
а весь запрос надо самому писать с учетом этого пособия?
мне почему-то кажется, что движок бд через эти связи сам знает, как по цепочке связей вытащить данные из связанных таблиц
или я туплю все же?
потом что когда я делал реверс бд вордпресса, то никаких стрелочек в дизайнере я не увидел
и как мне понять, что таблица а связана с таблицей б? смотреть в пхп коде сам запрос?
как мне узнать исходя только из этих таблиц сам запрос, чтобы например сделать экспорт постов с категориями и тегами?
тематические ответы только в форуме, в приват не пишите
- blackx
- Говорящий с текстолитом
- Сообщения: 1518
- Зарегистрирован: Пт дек 28, 2012 21:56:46
- Откуда: St. Petersburg
Re: html5 + javascript + css + jquery мои вопросы
Связи - это лишь способ гарантии целостности данных базы - как и транзакции, например. Связи хранятся вместе с остальной информацией о структуре БД (схеме), где именно зависит от субд. Фактически связи добавляют дополнительные проверки во время обработки запроса, и субд вернет ошибку если твоя модификация нарушает какую-то связь. Вполне можно обходиться без связей вовсе (кроме того, в нагруженных системах их вообще избегают, перекладывая задачу контроля целостности на программный код).
Из этого следует, что ты должен составлять запрос так, как будто никаких связей нет, полностью и однозначно прописывая условия выборок для JOIN-ов.
Связи ты можешь посмотреть отреверсив схему на диаграмму, лучшего способа я не знаю
Я уверен, в инете можно найти обзор структуры БД вордпресса и не ломать себе голову что там и куда.
Из этого следует, что ты должен составлять запрос так, как будто никаких связей нет, полностью и однозначно прописывая условия выборок для JOIN-ов.
Связи ты можешь посмотреть отреверсив схему на диаграмму, лучшего способа я не знаю
only pure true norwegian blackx 
Re: html5 + javascript + css + jquery мои вопросы
От себя добавлю : mysql - убогая недоСУБД, и там никаких таких "связей" между таблицами нет. По крайней мере в бесплатных версиях с MyISAM.
А продумывать запросы всё равно придется самому.
А продумывать запросы всё равно придется самому.
Re: html5 + javascript + css + jquery мои вопросы
вот это меня и парилоblackx писал(а):Из этого следует, что ты должен составлять запрос так, как будто никаких связей нет, полностью и однозначно прописывая условия выборок для JOIN-ов.
вроде бы рисуеш себе связи стрелочками в редакторе, а потом оказывается, что они тебе никак не помогут
так если в вордпрессе эти связи нигде не хранятся, то и реверс не поможет, я пробовал ужеblackx писал(а):Связи ты можешь посмотреть отреверсив схему на диаграмму
может тогда подкинет кто генератор данных для бд разных типов
тематические ответы только в форуме, в приват не пишите
- blackx
- Говорящий с текстолитом
- Сообщения: 1518
- Зарегистрирован: Пт дек 28, 2012 21:56:46
- Откуда: St. Petersburg
Re: html5 + javascript + css + jquery мои вопросы
Так я тебе и говорю, они не нигде не хранятся, их там тупо нет.kalobyte писал(а):так если в вордпрессе эти связи нигде не хранятся, то и реверс не поможет, я пробовал уже
А что ты имеешь ввиду под генератором для бд?
only pure true norwegian blackx 
Re: html5 + javascript + css + jquery мои вопросы
не генератор бд, а генератор фейковых данных для заполнения бдblackx писал(а):А что ты имеешь ввиду под генератором для бд?
я погуглил и оказывается такой инструмент есть и я даже скачал пару, но может быть есть что-то, что лучше моего?
например мне надо сгенерировать 10 стран по 10 городов
руками это гиморно, а так есть готовый софт
тематические ответы только в форуме, в приват не пишите
Re: html5 + javascript + css + jquery мои вопросы
Дык скриптом же. Десять стран по десять городов -- это два вложенных цикла.
Хоть на ПХП, хоть на шеллах. Зачеманама всякие сафтина?
Хоть на ПХП, хоть на шеллах. Зачеманама всякие сафтина?
Re: html5 + javascript + css + jquery мои вопросы
зачем мне велосипеды, если такие генераторы есть и уже содержат нормальные названия городов, имена и прочие данные
тематические ответы только в форуме, в приват не пишите


