русс | укр

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

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

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

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


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

Свойство length


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


 

Как мы видели, в теле функции свойство length массива arguments определяет ко_ личество аргументов, переданных этой функции. Однако свойство length самой функции имеет другой смысл. Это доступное только для чтения свойство возвра_ щает количество аргументов, которое функция ожидает получить, т. е. объяв_ ленных в ее списке параметров. Вспомним, что функция может вызываться с любым количеством аргументов, которые могут быть извлечены через массив arguments, независимо от того, сколько их объявлено. Свойство length объекта Function в точности определяет, сколько объявленных параметров имеется у функции. Обратите внимание: в отличие от свойства arguments.length, указан_ ное свойство length доступно как внутри, так и вне тела функции.

 

В следующем фрагменте определяется функция с именем check(), получающая массив аргументов от другой функции. Она сравнивает свойство arguments.length

 

со свойством Function.length (доступным как arguments.callee.length) и проверя_ ет, передано ли функции столько аргументов, сколько она ожидает. Если это не так, генерируется исключение. За функцией check() следует тестовая функция f(), демонстрирующая порядок вызова функции check():

 

function check(args) {      
var actual = args.length;   // Фактическое число аргументов
var expected = args.callee.length; // Ожидаемое число аргументов
if (actual != expected) { // Если числа не совпадают, генерируется исключение
throw new Error("неверное число аргументов: ожидается: " +
expected + "; фактически передано " + actual);
}        
}        

 

function f(x, y, z) {



// Проверяем, соответствует ли ожидаемому фактическое количество

 

// аргументов. Если не соответствует, генерируем исключение check(arguments);

 

// Теперь выполняем оставшуюся часть функции обычным образом


 

8.6. Свойства и методы функций
   

 

return x + y + z;

}

 



<== предыдущая лекция | следующая лекция ==>
Функции как методы | Определение собственных свойств функций


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


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

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

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


 


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

 
 

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

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