Нубские вопросы по javascript
Всем привет, ответе кого не затруднит на несколько вопросов, плиз...
1. Например есть класс CSS: .example { background-image:url([url]http://server/img.png);[/url] } Например он вешается на событие ну или просто присутствует в тегах html, вопрос в чем, браузер постоянно будет дергать с сервера эту картинку при наступление событие или же он один раз ее загрузит и далее будет доставать ее из кеша? 2. Видел в некоторых проектах что люди там загрузку картинок делают матрицей, например для иконок, которые равное по размеру и чтобы не дергать сервер всякий раз они делают так: ![]() как потом эту матрицу из иконок в браузере разобрать, чтоб каждая иконка была например в своем объекте. 3. Встречал в скриптах такое: function example(event,object){ event = event || window.event; // Зачем так пишут? у меня в Chrome прекрасно работает и без этого, или это такой кроссбраузерный способ? . . . }; 4. Также встречал и такое: function example(event,object){ var element = object.getElementById('table'); element.status=true; // element ведь это переменная, а тут уже она становиться объектом? правильно ли это? . . . }; Или вот такой вариант: . . . <div onclick="example(event,this);"></div> . . . function example(event,object){ object.status=true; // ??? . . . } Вот собственно все, что меня пока интересует и ответы на которые я не смог найти с помощью поиска, подскажите плиз :help: |
Нубские ответы :D
3. похоже на кросс-браузерный способ 4. не берусь утверждать, но мне кажется не хватает обращения к конкретному элементу. Так ли это на самом деле, скажет отладчик или старожилы форума :) function example(event,object){ var element = object.getElementById('table')[0]; // <-- например так element.status=true; // element ведь это переменная, а тут уже она становиться объектом? правильно ли это? . . . }; |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
B@rmaley.e><e,
А что в JS не объект?) |
Цитата:
т.е можно объявить переменную а потом присваивать ей свойства А это вообще некорректно. Если только object не является document'ом. да document там, перепутал в торопях когда писал... За ссылку спасибо, буду разбираться. :thanks: ЗЫ по поводу 1-го вопроса кто что скажет или это на столько нубский вопрос что на него нет ответа? :D |
simple,
из кеша. |
Цитата:
|
Nekromancer, undefined, null и примитивы (но они оборачиваются в объекты)
Цитата:
|
B@rmaley.e><e,
null кстати тоже объект, что то типо freez всегда :) А undefined да, вы правы. |
Цитата:
var a = null; alert('Success! ' + a.toString()) |
Цитата:
0, 1, 5, 'abc', true, false |
Kolyaj,
Не, ну ладно, примитивы обёртываются в объекты. |
Цитата:
ну или просто в тегах <div class=example>...</div> |
B@rmaley.e><e,
А, ну да, фриз же обращаться разрешает к своствам. Но таки до toString добрать в нул можно) null + '' Я конечно не помню по спецификации, как определяется нул, скорее всего как отдельный тип. Он typeof всё равно объект. |
Цитата:
|
Цитата:
|
Ребят ну что скажите по поводу этих двух вариантов (изменил на правильные)
function example(){ var object = document.getElementById('table'); object.status=true; . . . } и . . . <div onclick="example(this);"></div> . . . fucntion example(object){ object.status=true; . . . } |
Kolyaj,
Они то не становятся, да. Я к тому это всё, что политика JavaScript же, это - всё есть объект. Врятли когда это писали, имелось введу то, что сразу приходит в голову. Имеется введу то, что всё можно привести к виду объектов. |
B@rmaley.e><e,
Кстати не знал, спасибо :) Про регулярки думаю тоже пригодится. Меня например больше убивает такие штуки как typeof Node == 'object'. Видимо такая попытака реализации интерфейса была, нестандартными объекта. Хотя думаю так и есть. В ИЕ прототип например явно подписан как Interface. |
Цитата:
|
Kolyaj,
Надеюсь ты не меня имел введу, я ещё ничего не писал. Может не прав конечно, на счёт объектов, но таки да, не всё объект, но почти всё можно привести к типу. |
Цитата:
Любой объект можно привести к строке, это же не значит, что любой объект -- строка. |
Цитата:
|
есть у меня страница в коде которой имеется:
...td onClick="somefunc(1,23)"... ...td onClick="somefunc(4,63)"... ...td onClick="somefunc(XX,YY)".. если выполнить скрипт var newSomefunc= somefunc; somefunc= function(val1, val2) { ...дополнительные действия...; newSomefunc(val1,val2); } это будет работать? |
serjout, будет работать. Более того - можно сразу вызвать somefunc.
|
Есть еще один вопрос, даже не вопрос, а проблема для меня. Выяснилось что CSS свойства типа border-radius и box-shadow очень сильно грузят процессор грузят так интересным образом...пример:
<div style="overflow:auto;width:350px;height:200px;border:1px solid #000;-webkit-border-radius:5px;-webkit-box-shadow:0px 0px 2px 0px #33548B;"> /*Тут к примеру лежит таблица с width=1000px, чтобы у div появился нижний скроллбар*/ </div> Так вот при таких небольших размерах Div скролиться вполне нормально и обычно, но стоит только сделать этот div скажем на весь экран с width=100% и height=100% то скролл ится он уже с сильным запаздыванием и тормозами, к тому же нагрузка на процессор возрастает до 60% из-за какой то вообщем то простой с виду операции...но если убрать из свойств box-shadow то становиться все нормально. Так вот вопрос почему так происходит, ведь div стоит на месте не куда не перемещается почему так border-shadow влияет на него? :( |
Цитата:
|
старайтесь его использовать как можно реже. на хроме у меня дикие тормоза с этими box-shadow. для статических элементов - пожалуйста. но вот когда анимируется его положение или прозрачность .. уух.
|
Часовой пояс GMT +3, время: 14:47. |