Просмотр полной версии : , и ; в чем смысл?
недавно смотрел пример так вот в нем встретил такое
mc=this.mc,h=this.mc.inner.h,v=this.mc.inner.v,c=this.cursor;
так вот в чем прикол этих запятых? вроде ж тама должны быть точки с запятыми? может я че-то не понимаю, может это типа правильный стиль, объясните
(код взят из примера sillin'а)
Whatsername
13.10.2005, 13:26
Есть такой оператор, people call It: "запятая". Он позволяет вычислить несколько выражений, перечисленных через запятую и всегда возвращает значение последнего выражения. Например, попробуй сделать trace(("Hello", "World")).
Преведенный тобой код, вырван из общей картины, и по поводу него я не могу ничего сказать, кроме того, что он очень даже допустим.
исходный код (немного провтыкал):
var mc=this.mc,h=this.mc.inner.h,v=this.mc.inner.v,c=this.cursor;
Whatsername
13.10.2005, 13:37
Разве я не ответил на твой вопрос? =))
т.е. че в конце концов получиться ??
я что-то въехать не могу?
получаеться что в этой строке все поприсваивалось как нужно, а куда этот последний результат вернеться ??
как я понимаю это будет this.cursor
вернее вернет значение this.cursor но куда ?
Whatsername
13.10.2005, 13:44
При инициализации переменных можно использовать запятую для объявления сразу нескольких переменных. Собственно, это здесь и происходит.
var x; // объявить одну переменную
var x, y; // объявить две переменные
var x = 10, y = 5; // объявить и инициализировать сразу две
var x = this.mc.x, y = this.mc.y; // ну, понятно, я думаю
а тогда смысл использования запятой ?, можешь пример привести где это будет целесообразно, а то я не могу чето понять?
function set _xskew(x){sx=x,skewxy(x,sy)}
вот например зачем здесь запятая ?
Whatsername
13.10.2005, 13:56
вернее вернет значение this.cursor но куда ?
Инструкция var не возвращает значения. Вот если ошибаюсь — поправьте кто-нибудь.
А если тебя смущает, что возвращаемое значение должно обязательно вылиться в что-нить стоящее — это не всегда так. Поэтому допустимо выражение:
"Hello" // никакой пользы, так как результат не сохраняется
Или, к примеру, можно проверить значение, возвращаемое методом stop().
иииииииииииии, ладно фиг с ней с запятой, жил же без этого нормально, просто я думал что меня где то кидают а где не мог понять %)))
Whatsername
13.10.2005, 14:01
function set _xskew(x){sx=x,skewxy(x,sy)}
вот например зачем здесь запятая ?
По поводу кода Силина — выкладывай весь код или обращайся к Силину. Пойми, невозможно прочухать логику кода, взглянув на первую и последнюю строчки. Хотя если в программе две строчки, то можно, но это не тот случай.
А как работает этот оператор я тебе объяснил. Ты уже открывал Флеш, чтобы его опробовать?
пробывал, да токо применения кроме var, не смог придумать.
а код такой:
//©sillin
//добавляет свойства сдвига(skew) по x и y
//мувик должен иметь вложенный мувик (отцентрированный, иначе все криво)
class Skew extends MovieClip{
private var scale,sx,sy;
function Skew(){
scale = _xscale;
for (var i in this) if (typeof (this[i])=="movieclip")this[i]._rotation = -45;
skewxy(0,0);
}
private function skewxy(ax,ay){
var rad = Math.PI/180;
_rotation = (Number(ax)+Number(ay))/2+45;
var s=2*Math.sin(this._rotation*rad)/Math.SQRT2;
ax*=rad,ay*=rad,trace('werwr');
_xscale = scale*(Math.cos(ax)+Math.sin(ay))/s;
_yscale = scale*(Math.sin(ax)+Math.cos(ay))/s;
}
function set _xskew(x){sx=x,skewxy(x,sy)}
function set _yskew(y){sy=y,skewxy(sx,y)}
function get _xskew(){return sx;}
function get _yskew(){return sy;}
}
первый вар из другого текста
Вот тебе пример
for(i=0, j=-10; i<10; i++, j-=3) ...
или вот так
{
...
} while(j-=3, ++i<10)
или так
a = flag ? j-=3, i++ : i--, j+=3;
помогает избежать фигурные скобки
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.