русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Метод — это функция, привязанная к значению. Если обратиться к ней без скобок, то результатом будет сама функция.


Дата добавления: 2015-07-09; просмотров: 564; Нарушение авторских прав


Непонятно? Посмотрите, например, результат обращения к toUpperCase без скобок:

 

var hello = "Привет";
 

 

alert( hello.toUpperCase ); // function...

Этот код выводит значение свойства toUpperCase, которое является встроенной в язык функцией. Как правило браузер выводит его как-то так: "function toUpperCase() { [native code] }".

Для получения результата эту функцию необходимо вызвать, поэтому и обращение делается со скобками:

 

var hello = "Привет";
 

 

alert( hello.toUpperCase() ); // "ПРИВЕТ" (результат вызова)

Мы еще встретимся со строками и числами в последующих главах и глубже познакомимся со средствами для работы с ними.

‹ Рекурсия, стек Всё вместе: особенности JavaScript ›

15.04.2012

Илья Кантор


Alexy

toFixed очень криво работает.
Пример:
5.5.toFixed(0) вернёт 6 (т.е. правильно окргуляет)
5.35.toFixed(1) вернёт 5.3(что не правильно! по правилам математики округление должно идти в большую сторону)
Однако 5.3500009.toFixed(1) уже вернёт 5.4.
5.36.toFixed(1) соответственно тоже вернёт 5.4.

SennaTOR

От браузера зависит. В IE 9 выдает 5.4, в Chrome 5.3, Firefox - 5.3, Opera - 5.3.

Вадим

Видимо кто-то совсем в школе не учился)) почитай правила округления!

Если первая из отбрасываемых цифр больше 5, то последняя из сохраняющихся цифр увеличивается на 1. Если первая из отбрасываемых цифр равна 5, а за ней следуют одна или несколько значащих цифр, то последняя из сохраняющихся цифр также увеличивается на 1.
Если первая из отбрасываемых цифр меньше 5, то последняя из сохраняемых цифр остаётся неизменной.
Если отбрасывается цифра 5, а за ней нет и никогда не было значащих цифр, то последняя из сохраняемых цифр остаётся неизменной, если она чётная, и увеличивается на 1, если она нечётная.



·

Alexy

Скорее всего корни у этого от туда же, что и у примера от KpuBopy4ko в примере ниже.

KpuBopy4ko

Почему при вызове функции

alert( 12.34.toFixed(17) );
выдаст 12.3399999999999986

Max Korzilov

скорее всего это связано с внутренним представлением дробного числа в компьютере.
Когда ты просишь его уточнить число до N-ого после запятой, то он перестает округлять, и выдает так, как "посчитал"

Tadevosyan

Есть и метод toLowerCase() , который возвращает строку в нижнем регистре))

Hixer

А задачи? А ссылки на справочники? После рекурсии уже чего-то посерьёзнее мозг требует! :)

Александр Белец

пока отдохнуть надо людям :)

Anchak

Ошибка в коментариях ( alert( n.toFixed(2) ); // "12.34" ) там будет 12.35

George Marchenko

Наверное, Илья решил оставить это на потом, но я бы добавил этот метод сюда. toLowerCase() — осуществляет действие, обратное toUpperCase(). Просто для практики, раз уж его аналог в этом разделе описан.

Tyrgor


А у меня .toFixed(n) работает нормально и для целочисленных значений без вывода ошибки как написано. Выводит просто полученное целое число вообще без дробной части (как и положено). Тестировал в Опере и ФФ.
Но тут появился вопрос: вот я поставил x.toFixed(3), а, к примеру, у меня х = 0,000000123...; т.е мне выдает 0,000. Так вот, как можно попроще прописать, чтоб при таком варианте выдавало ну хоть 0,0000001?

Tyrgor

Хотя нет...странно...работает через раз. Точнее ошибки нет, выдает все время ответ при целых числах, но через раз - то без десятичной части, то с десятичной (с нулями после точки).

Baranovskiy O A

И я не понял что конкретно выводит
toFixed, по мне так непонятно написано.

·

eee

Округляет число до нужного количества цифр после запятой. И результат переводит в строку

o

o

например для этого
var n = 0.1+0.2; alert(n); //Разница есть!alert(n.toFixed(1));



<== предыдущая лекция | следующая лекция ==>
Методы и свойства | Переменные и типы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 3.145 сек.