Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore Секреты javascript ниндзя

Секреты javascript ниндзя

Published by mr.oleg-nk, 2015-09-19 16:04:08

Description: Секреты javascript ниндзя

Search

Read the Text Version

1 06 Чаешь //. Обучение JЧi!НUKaЛистинг 4. 1 1 . Обобщенные функции 111.in ( ) и 11а1. х ( ) дnя массивов<scr ipt type=\" text / j ava scr ipt \" > } l't,A•)O&/o\"� .:р.,нкw,•t0 �АА \"'\"O�tH•A funct ion sma l lest ( array ) { н.t.iu.мtн.Pu..t.1.0 �н.е�.цt.н.ыf� return Math . min . apply ( Math , array ) ;funct ion largest ( array) { } Ри.лц)о&/о'\"� 4\"-1нкw,wю �АА \"'\"o�tнwa return Mat h . max . apply ( Math , array) ; \"'\"&,A�ll<t1\"1 )H,ЦtHl<A assert ( sma l l est ( ( 0 , 1 , 2 , 3 ] ) == О , } \" Located the smal lest va lue . \" ) ; assert ( largest ( [ О , 1 , 2 , 3 ] ) == 3 , \"Located the largest value . \" ) ;< / scr ipt > В приведенном выше коде определяются две функции: одна - для нахождения наи­меньшего значения в массиве О . а другая - для нахождения наибольшего значения вмассиве 8. Обратите внимание на то, что в обеих функциях метод app l y ( ) служит дляпредоставления методам из класса Ма t h значений из массивов, передаваемых в каче­стве списков аргументов. При вызове функции sma l l e s t ( ) передается массив [ О , 1 , 2 , 3 ] , как это делаетсяв тестах f). Это, в свою очередь, 11риводит к вызову метода Ма t h . rnin ( ) , что функцио­нально равнозначно следующему вызову:Math .min ( 0 , 1 , 2 , 3 ) ; Следует также заметить, что в качестве контекста указывается объект типа Ма t h .Делать это совсем н е обязательно, поскольку методы rnin ( ) и m a x ( ) будут действоватьнезависимо от того , что именно передается в качестве контекста. Тем не менее н ичтоне мешает соблюдать аккуратность в данной ситуации . Итак, мы выяснили, как пользоваться списками аргументов переменной дл и н ы привызове функций. А теперь рассмотрим, как объявлять свои функци и , чтобы приниматьэти списки.Перегрузка функций В разделе главы 3 , посвященном вызову функци й , бьш представлен параметрa rgumen t s , неявно передаваемый всем функциям. Рассмотрим теперь этот важныйпараметр более подробно. Итак, он неявно передается всем функциям , что позволя­ет обрабатывать в них любое число передаваемых аргументов. Даже если определитьтолько некоторое число аргументов, через параметр a r gume n t s все равно будут до­ступны все передаваемые аргументы. Обратимся к краткому примеру, наглядно демон­стрирующему применение этого удобного средства для реализации эффективной пере­грузки функций.Обнаружение и обход списка арrументов В других, в большей степени объектно-ориентированных языках программирова­ния перегрузка методов обычно осуществляется путем объявления отдельных реализа­ций методов под одним и тем же именем , но с разными списками параметров. Совсем






















































































Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook