Аргументи псевдо-масив - аргументи
В някои езици програмист може да създаде две функции с едно и също име, но с различен набор от аргументи и когато бъде извикан, интерпретаторът ще избере тази, от която се нуждае:
Може да има само една функция с име log, която може да бъде извикана с всякакви аргументи.
И вече вътре тя може да види с какво е причинена и да работи по различни начини.
Достъп до "допълнителни" аргументи
Как да получите стойностите на аргументите, които не са в списъка с параметри?
Те са достъпни чрез аргументите "псевдо-масив".
Той съдържа списък с аргументи, номерирани: аргументи [0], аргументи [1] ..., както и свойството дължина .
Например, нека изброим всички аргументи:
Всички параметри са в аргументи, дори ако са в списъка. Кодът по-горе ще работи по същия начин, ако функцията е декларирана sayHi (a, b, c) .
В резултат на това промените в аргументите засягат параметрите и обратно.
Освен ако не използвате строг режим, така че променливите да не се променят "неочаквано", препоръчително е никога да не променяте аргументи .
аргументи не е масив
Често срещана грешка при начинаещи се опитва да приложи методите на масив към аргументи. Това е невъзможно:
Въпросът е, че аргументите не са масив .
Всъщност това е обикновен обект, просто клавишите са цифрови и са с дължина. Тук приликите свършват. Той няма никакви специални методи и не поддържа и масивни методи.
Никой обаче не си прави труда да прави редовен масив от аргументи, например:
Такива обекти понякога се наричат „колекции“ или „псевдо-масиви“.
Понякога възниква задачата - да копирате свойства от един или няколко други в съществуващ обект.
За да комбинирате множество обекти в един:
За да създадете копие на потребителския обект:
Такъв „клонинг“ на обект може да бъде полезен, когато искаме да променим свойствата му, без да докосваме оригиналния потребителски обект .
При нашето изпълнение ще копираме само свойствата на първото ниво, т.е. вложените обекти не се обработват по специален начин. Той обаче може да бъде разширен.
И тук е изпълнението:
Аргументи по подразбиране чрез ||
Ако функцията се извика с по-малко аргументи от посоченото, тогава липсващите аргументи се считат за недефинирани .
Често, при липса на аргумент, ние искаме да му присвоим някаква „стандартна“ стойност или, с други думи, стойност по подразбиране. Това може да се направи удобно с помощта на логически оператор ИЛИ || .
Например функцията showWarning, описана по-долу, трябва да показва предупреждение. За да направите това, са необходими ширина, височина, заглавие и съдържание, но повечето от тези аргументи не са задължителни: