PDA

Просмотр полной версии : Проблема с типами


cassius
21.01.2006, 11:13
Есть функция, которая принимает в качестве параметра переменную a типа Number.
В теле функции переменной s типа Number прибавляется переменная b типа Number.
Допустим a = 10, и = 5.
В результате s = 105 и имеет тип String.

Меня кто-то проклял? :confused:

P.S. Помогает только так: s = Number(a) + Number(b);

ir73
21.01.2006, 12:02
Есть функция, которая принимает в качестве параметра переменную a типа Number.
В теле функции переменной s типа Number прибавляется переменная b типа Number.
Допустим a = 10, и = 5.
В результате s = 105 и имеет тип String.

Меня кто-то проклял? :confused:

P.S. Помогает только так: s = Number(a) + Number(b);
весь код функции покажте. Спорим что переменная s не имеет типа, так? А дорлжна быть Number

cassius
21.01.2006, 12:12
весь код функции покажте. Спорим что переменная s не имеет типа, так? А дорлжна быть Number

Все таки Number.

А если бы она не была бы Number, то неужели Number + Number дал бы String?

Код функции не тот, что я описал, а просто пример.

cassius
21.01.2006, 12:15
Возможно ли установить опцию во Flash, чтобы при присвоении переменной одного типа другого типа она бы орала как потерпевшая?

Тяжело после спп наблюдать такое безобразие...

Antares
21.01.2006, 12:30
Типизация в AS2:

var myNum:Number = 5;

function foo ( bar:String ) : Void
{
// TODO : реализовать
}

foo ( MyNum ); // Компилятор заорет


Однако типизация в АС2 динамическая. Компилятор можно хакнуть. В AS3, однако, все уже совсем иначе.