Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   в чем раздница при использовании объекта Image? (https://javascript.ru/forum/misc/7371-v-chem-razdnica-pri-ispolzovanii-obekta-image.html)

req 28.01.2010 22:39

в чем раздница при использовании объекта Image?
 
Здраствуйте, дополню сабж: и есть ли эта раздница?

Код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru"><head>
...
    <script type="text/javascript">
        (new Image(X, Y)).src='./CSS/i/image1';
        new Image().src='./CSS/i/image2';
    </script>
</head><body>
...
</body></html>

вместо X и Y подставлены реальные значения. Есть ли разница при предзагрузке изображений данными способами? Заранее спасибо.

P.S. Меня собственно смущает использование скобок вокруг создания объекта в первом случае.

Мараторий 29.01.2010 00:58

Оба варианта эквивалентны, если вы не собираетесь потом этот объект вставлять в страницу.
var img1 = new Image();
var img2 = new Image(10,20);
img1.src = "src1";
img2.src = "src2";
document.appendChild(img1); // добавится <img src="src1">
document.appendChild(img2); // добавится <img src="src2" width="10" height="20">

Riim 29.01.2010 03:50

1		. [] () function()
2		++ -- -(otricanie) ~ ! new typeof delete void
3		* / %
4		+ -(vicitanie)
5		<< >> >>>
6		< <= > >= instanceof
7		== != === !==
8		&
9		^
10		|
11		&&
12		||
13		?:
14		= += -= *= /= %= <<= >>= >>>= &= ^= |=
15		,


точка выше чем new, а нужно что бы сначала new.

req 29.01.2010 11:32

Цитата:

Сообщение от Мараторий (Сообщение 42589)
Оба варианта эквивалентны, если вы не собираетесь потом этот объект вставлять в страницу.

нет, не собираюсь, поэтому объекты создаются без "указателей" на них.

Цитата:

Сообщение от Riim (Сообщение 42592)
точка выше чем new, а нужно что бы сначала new.

да, я понимаю что в данном случае отличие выражается в приоритете операторов, но не совсем понимаю, почему: "а нужно что бы сначала new"? Не могли бы вы объяснить чуть чуть подробнее?

Kolyaj 29.01.2010 12:03

Цитата:

Сообщение от Riim
точка выше чем new, а нужно что бы сначала new.

Всегда писал а-ля
new Date().getTime();

И везде всегда работало.

PeaceCoder 29.01.2010 13:40

Цитата:

Сообщение от Kolyaj
new Date().getTime();

alert([new Date().getTime(), (new Date()).getTime()]);

А поидее должна быть ошибка в первом случае. Может new меняет приоритеты или же new действует до первых скобок.


Часовой пояс GMT +3, время: 15:14.