int vs var (JScript)
От: IT Россия linq2db.com
Дата: 03.09.01 22:46
Оценка:
Как мне гарантировать, что переменная, объявленная как 'var' имеет целый тип?
Кроме как:
nm++; nm--;
ничего придумать не могу.
Если нам не помогут, то мы тоже никого не пощадим.
Re: int vs var (JScript)
От: Аноним  
Дата: 04.09.01 00:27
Оценка:
Здравствуйте IT, вы писали:

IT>Как мне гарантировать, что переменная, объявленная как 'var' имеет целый тип?

IT>Кроме как:
IT> nm++; nm--;
IT>ничего придумать не могу.

обычно делал то-же самое, что-бы не влететь
a=a+1-1

а изначально обьявить как int ?..

Олег
Re[2]: int vs var (JScript)
От: IT Россия linq2db.com
Дата: 04.09.01 00:34
Оценка:
А>а изначально обьявить как int ?..

А как? :) Как объявить переменную так, чтобы она была не var там какой-то, а именно int и этот тип не менялся в процессе работы программы?
Наверное это не сложно, но я, блин, веб-девелопствую по необходимости и тонкостей этого дела не знаю.
Если нам не помогут, то мы тоже никого не пощадим.
Re[3]: int vs var (JScript)
От: EkaterinaVZ  
Дата: 05.09.01 15:10
Оценка:
JS не поддерживает никаких методов и свойств для определения текущего или изначального значения, поэтому нужно внимательно отслеживать типы в процессе, во избежании неожиданных результатов, или же задавать значения по умочанию (инициализировать).
--------------
В JS если к строке прибавить число, то результат преобразуется в строку
поэтому единственное правило это ОТСЛЕЖИВАТЬ и ТЕСТИРОВАТЬ!
Re[4]: int vs var (JScript)
От: IT Россия linq2db.com
Дата: 05.09.01 15:23
Оценка:
Здравствуйте EkaterinaVZ, вы писали:

EVZ>JS не поддерживает никаких методов и свойств для определения текущего или изначального значения, поэтому нужно внимательно отслеживать типы в процессе, во избежании неожиданных результатов, или же задавать значения по умочанию (инициализировать).

EVZ>--------------
EVZ>В JS если к строке прибавить число, то результат преобразуется в строку
EVZ>поэтому единственное правило это ОТСЛЕЖИВАТЬ и ТЕСТИРОВАТЬ!

И даже 'new Number' не поможет?
JS не правильный язык.
Если нам не помогут, то мы тоже никого не пощадим.
Re[5]: int vs var (JScript)
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.09.01 18:30
Оценка:
Здравствуйте IT, вы писали:

В VBS эти проблемы можно обойти. Пункции приведения можно написать и самому (оформив их в виде COM-объектов).

Но самое радикальное средство — переход на .Net. Там даже JS — ООЯ поддерживающий типизацию данных. Короче, качай .Net SDK (130 мег) и вперед.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: int vs var (JScript)
От: IT Россия linq2db.com
Дата: 05.09.01 18:48
Оценка:
Здравствуйте VladD2, вы писали:

VD>В VBS эти проблемы можно обойти. Пункции приведения можно написать и самому (оформив их в виде COM-объектов).


VD>Но самое радикальное средство — переход на .Net. Там даже JS — ООЯ поддерживающий типизацию данных. Короче, качай .Net SDK (130 мег) и вперед.


Да мне вообще-то надо было ссылку на следуюшую страницу в /forum/main.asp посчитать, та, что после "Последние сообщения"...
Но за совет всё равно спасибо ;)
Если нам не помогут, то мы тоже никого не пощадим.
Re[5]: int vs var (JScript)
От: Аноним  
Дата: 06.09.01 02:20
Оценка:
Здравствуйте IT, вы писали:

EVZ>>JS не поддерживает никаких методов и свойств для определения текущего или изначального значения, поэтому нужно внимательно отслеживать типы в процессе, во избежании неожиданных результатов, или же задавать значения по умочанию (инициализировать).


угу.

EVZ>>В JS если к строке прибавить число, то результат преобразуется в строку


угу. но его можно попробовать преобразовать в число.

EVZ>>поэтому единственное правило это ОТСЛЕЖИВАТЬ и ТЕСТИРОВАТЬ!


угу.

IT>И даже 'new Number' не поможет?


поможет.

a=10;
a=new Number(a+"dfg");
в этом случае ты получишь (вроде как) "NaN".

a=10;
a=new Number(a+"2345");
в этом случае ты получишь 102345.

IT>JS не правильный язык.


Олег
Re[6]: int vs var (JScript)
От: IT Россия linq2db.com
Дата: 06.09.01 02:37
Оценка:
Здравствуйте Аноним, вы писали:

IT>>И даже 'new Number' не поможет?


А>поможет.


А>a=10;

А>a=new Number(a+"dfg");
А>в этом случае ты получишь (вроде как) "NaN".

А>a=10;

А>a=new Number(a+"2345");
А>в этом случае ты получишь 102345.

Да, но если я потом буду что-то с этими переменными делать, они опчть могут поменять тип. :(

IT>>JS не правильный язык.

Подтверждаю ещё раз.
Если нам не помогут, то мы тоже никого не пощадим.
Re[6]: int vs var (JScript)
От: EkaterinaVZ  
Дата: 06.09.01 06:27
Оценка:
EVZ>>>JS не поддерживает никаких методов и свойств для определения текущего или изначального значения, поэтому нужно внимательно отслеживать типы в процессе, во избежании неожиданных результатов, или же задавать значения по умочанию (инициализировать).


IT>>JS не правильный язык.


По сравнению с "серьезными" языками — да.

А вообще, даже во всех справочниках по JS пишут, что в этом языке тип переменной модифицируется, в зависимости от того, что с ней делаешь; поэтому еще один вариант, это ставить проверки на правильность введенного типа. Или же делать switch'и и т.д.
Re[7]: int vs var (JScript)
От: Аноним  
Дата: 07.09.01 05:15
Оценка:
Здравствуйте IT, вы писали:

IT>Да, но если я потом буду что-то с этими переменными делать, они опчть могут поменять тип. :(


угу...

IT>>>JS не правильный язык.

IT>Подтверждаю ещё раз.

я тебе, вроде как, совет даю, как это можно работать,
а не спорю с тобой, по поводу "правильности". :-)

Олег
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.