Программирование - это просто
Advertisement
Главная arrow Web-программирование arrow Уроки Java Script arrow Уроки web-программирования «Java Script (JS): преобразование типов данных».
01.05.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Уроки web-программирования «Java Script (JS): преобразование типов данных». Печать E-mail
Автор megabax   
11.04.2010 г.

Урок 13. Управление шрифтами в CSS New Page 1

 

Уроки web-программирования «Java Script (JS): преобразование типов данных».

 

В Java Script преобразование типов данных, участвующих в выражении, производиться автоматически. Например, если мы запишем:

а=10 + "негритят"

 

то переменная 'a' у нас будет содержать строку "10 негритят", то есть, у нас число автоматом преобразуется в строку, к которой прибавиться другая строка. Если мы запишем выражение:

3+"2"

то в результате у нас будет срока "32". Тоесть, если мы складываем числа и строки, то система думают, что числа - это строки и преобразует их именно в строки. Почему так? А потому, что мы не можем сложить число со строкой. А про то, что "2" - это число, записанное в форму строки, компьютер не догадывается. Другое дело, если мы попытаемся вычесть из числа строку:

3-"2"

в результате получим 1. Давайте проверим это на примере:

 

<HTML>
<HEAD>
<TITLE>Урок 27. Java script (JS): Преобразование типов</TITLE>
</HEAD>

<BODY>
<SCRIPT Language="JavaScript" type="text/javascript">
a=3;
b="2";
c=a-b;
document.write(c);
</SCRIPT>
</BODY>
</HTML>

 

Как и следовало ожидать, результатом вычисления стала единица:

 

Тема сегодняшнего урока: «Java Script (JS): преобразование типов данных».

 

Спрашивается, а почему в случае с вычитанием строки преобразуются в числа, а при сложении числа в строки? А потому, что мы не можем вычесть одну строку из другой, это бессмыслица какая то получается. Е если мы попробуем из числа вычесть строку, которая не может быть преобразована в число? Давайте проверим:

 

<HTML>
<HEAD>
<TITLE>Урок 27. Java script (JS): Преобразование типов</TITLE>
</HEAD>

<BODY>
<SCRIPT Language="JavaScript" type="text/javascript">
a=3;
b="это не число";
c=a-b;
document.write(c);
</SCRIPT>
</BODY>
</HTML>

 

И вот что нам выдала программа:

 

Тема сегодняшнего урока: «Java Script (JS): преобразование типов данных».

 

Возникает еще вопрос, а как быть, если нам надо сложить значения как числа, но они хранятся у нас в строковых переменных? Можно воспользоваться функцией parseInt или parseFloat. Рассмотрим работу этих функций на примере:

 

<HTML>
<HEAD>
<TITLE>Урок 27. Java script (JS): Преобразование типов</TITLE>
</HEAD>

<BODY>
<SCRIPT Language="JavaScript" type="text/javascript">
document.write(1+parseFloat("3.14"));
document.write("<br>")
document.write(1+parseInt("3.14"));
document.write("<br>")
document.write(1+"3.14")
</SCRIPT>
</BODY>
</HTML>

 

Вот что выдаст нам программа:

 

Тема сегодняшнего урока: «Java Script (JS): преобразование типов данных».

 

Как видим, parseInt отличается от  parseFloat тем, что первая просто тупо и решительно отбрасывает дробную часть.

 

Если в арифметическом выражении у нас встретиться логический тип, то значение true преобразуется к 1, false к 0. Если встретиться null, то он будет преобразован в 0, если undefined - то в NaN.

В логических выражениях значения будут преобразованы к булевому типу. 0, пустая строка (""), NaN, null, undefined при этом преобразуются в значение false, любое другое значение в true.

Следует так же помнить о том, что в Java Script нет разделения между целочисленным и дробным типом. Поэтому при делении целых чисел отсутствует автоматическое преобразование в целое число. В частности в Pascal-е результат деления 1/3 будет 0, а в JavaScript 0.3333333333.

 

Последнее обновление ( 11.04.2010 г. )
 
« След.   Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги