ПредишенСледващото

Тук хората говорят за различни полезни, но не са очевидни методи за писане на функции.

Как да се създаде допълнителни функционални параметри?

Има функции, определени параметри, които са много често се една и съща стойност. Възможно ли е да се направи тези параметри не са задължителни, така че когато ги наричаме можете да пропуснете функция и по този начин те щяха да вземат правилните стойности?

Ако функцията се нарича някой от неговите параметри са изпуснати във функцията код Гела той ще бъде връчена на стойността неопределено. Така че последователността от действия е ясно.

Проверете дали тази опция е настроена на неопределен (т.е.. Д. Функцията изрично дали той е прехвърлен). Ако отговорът е да, преминете към стъпка 2, ако не, на стъпка 3.

Възложено на стойността на параметъра по подразбиране.

Използвайки тази стойност в изчисленията в функция на тялото.

функция func1 (par1, PAR2)

ако (typeof (PAR2) == "неопределен") PAR2 = 0;

> Ние можем да наричаме тази функция като показващ всички параметри:

и само с първите - задължително - параметри:

В последния случай, втората опция ще получите в тялото на стойност 0. Ефектът ще е същият, ако ние наричаме функцията със следните параметри:

валидиране Expression параметър върху стойността неопределени в тялото на функцията може да се запише по-кратък. Ето как:

функция func1 (par1, PAR2)

ако (! PAR2) PAR2 = 0;>

Значение неопределен, като част от логически израз винаги се превръща в стойност на невярна. В примера по-горе, ние сме го използвали.

Допълнителни параметри трябва да бъдат поставени в края на функцията списък параметър (вж. Дадените примери по-горе). Ако, например, да направи избор първия параметър на функцията и го наричат ​​по този начин:

Как да прехвърля функциите на произволен брой параметри?

Ние трябва да се напише функция, която на произволен брой параметри. Как да го направя?

Вътре в тялото на функцията е достъпна множество аргументи, които съдържат всички елементи на параметрите се подават на функцията. Този масив е с дължина собственост, която връща броя на елементите в масива.

Var с = arguments.length;

за (I = 0; и

ул Var = func2 ( "Java", "Script");

Друга функция, която на произволен брой параметри от низа и връща низ, състоящ се от ценности. Но този път, първото задължително параметър отнема разделител трябва да се постави между струните.

Var с = arguments.length;

за (I = 1; и S + = аргументи [I]; ако - S + = pDelimiter (I = S 1!);> връщане S;>

ул Var = func3 ( "+", "Java", "Script");

сложи в променлива ул низ "Java Script +".

В края на краищата, вие може да премине към функция като параметър масив с правилния брой елементи.

А леко променена пример за функция func3:

функция func3 (pDelimiter, парс)

Var с = pars.length;

за (I = 0; и ако (! = I е - 1) е + = pDelimiter;> връщане S;>.

Наречен тази функция ще бъде, както следва:

Var ул = func3 ( "", нов Array ( "Java", "Script"));

тогава в променливата ул воля низа "Java Script".

Функцията връща множество стойности проблем

1. функция Изчисли всички задължителни стойности на тялото.

2. Създаване на масив от функции в организма.

3. Поставете изчислените стойности на елементите в тази гама.

4. Върнете получената оператора връщане масив.

И извличане на стойностите на елементите на масив, върнати от функцията няма да има затруднения.

// Тук са поставени изрази, които изчисляват желаните стойности.

// Да предположим, че всички от тях. три, и те са поставени в променливи

// valuel, стойност 2, и VALUE3.

Var ARR = нов Array ();

Използването на тази функция:

Var а = someFunc (); Var ил = A [0]; Var v2 = A [1]; Var v3 = на [2];

Вместо обичайните два числено индексираните масиви можем да използваме хеш - масиви с низови индекси елементи. Например:

// Тук са поставени изрази, които изчисляват желаните стойности

// valuel, стойност 2, и VALUE3.

Var ARR = нов Array ();

върне ARR;> Var а = someFunc (); Var v1 = а [ "valuel"]; Var v2 = а [ "стойност2"]; Var v3 = а [ "VALUE3"];

Свързани статии

Подкрепете проекта - споделете линка, благодаря!