Как мне гарантировать, что переменная, объявленная как '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
А как? :) Как объявить переменную так, чтобы она была не var там какой-то, а именно int и этот тип не менялся в процессе работы программы?
Наверное это не сложно, но я, блин, веб-девелопствую по необходимости и тонкостей этого дела не знаю.
Если нам не помогут, то мы тоже никого не пощадим.
JS не поддерживает никаких методов и свойств для определения текущего или изначального значения, поэтому нужно внимательно отслеживать типы в процессе, во избежании неожиданных результатов, или же задавать значения по умочанию (инициализировать).
--------------
В JS если к строке прибавить число, то результат преобразуется в строку
поэтому единственное правило это ОТСЛЕЖИВАТЬ и ТЕСТИРОВАТЬ!
Здравствуйте EkaterinaVZ, вы писали:
EVZ>JS не поддерживает никаких методов и свойств для определения текущего или изначального значения, поэтому нужно внимательно отслеживать типы в процессе, во избежании неожиданных результатов, или же задавать значения по умочанию (инициализировать). EVZ>-------------- EVZ>В JS если к строке прибавить число, то результат преобразуется в строку EVZ>поэтому единственное правило это ОТСЛЕЖИВАТЬ и ТЕСТИРОВАТЬ!
И даже 'new Number' не поможет?
JS не правильный язык.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте 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 не правильный язык.
Здравствуйте Аноним, вы писали:
IT>>И даже 'new Number' не поможет?
А>поможет.
А>a=10; А>a=new Number(a+"dfg"); А>в этом случае ты получишь (вроде как) "NaN".
А>a=10; А>a=new Number(a+"2345"); А>в этом случае ты получишь 102345.
Да, но если я потом буду что-то с этими переменными делать, они опчть могут поменять тип. :(
IT>>JS не правильный язык.
Подтверждаю ещё раз.
Если нам не помогут, то мы тоже никого не пощадим.
EVZ>>>JS не поддерживает никаких методов и свойств для определения текущего или изначального значения, поэтому нужно внимательно отслеживать типы в процессе, во избежании неожиданных результатов, или же задавать значения по умочанию (инициализировать).
IT>>JS не правильный язык.
По сравнению с "серьезными" языками — да.
А вообще, даже во всех справочниках по JS пишут, что в этом языке тип переменной модифицируется, в зависимости от того, что с ней делаешь; поэтому еще один вариант, это ставить проверки на правильность введенного типа. Или же делать switch'и и т.д.
Re[7]: int vs var (JScript)
От:
Аноним
Дата:
07.09.01 05:15
Оценка:
Здравствуйте IT, вы писали:
IT>Да, но если я потом буду что-то с этими переменными делать, они опчть могут поменять тип. :(
угу...
IT>>>JS не правильный язык. IT>Подтверждаю ещё раз.
я тебе, вроде как, совет даю, как это можно работать,
а не спорю с тобой, по поводу "правильности". :-)