Научи ме

Програмиране => JavaScript => Темата е започната от: georgirgeorgiev в 01 Декември 2015, 13:52:45

Титла: Параметри или аргументи?
Публикувано от: georgirgeorgiev в 01 Декември 2015, 13:52:45
Здравейте!
JQuery методите и селекторите, това, което приемат - параметри ли се наричат или аргументи?
Например методът .parent() или пък селектора :eq() и като цяло има ли разлика между методите и селекторите във връзка с това? Как мога да разбера дали това, което приемат е аргумент или параметър?
Титла: Re: Параметри или аргументи?
Публикувано от: kjufte в 01 Декември 2015, 19:29:45
Аргументите са конкретните стойности (на променливи), с които извикваш дадена функция, която приема определени параметри.
Примерно
Код: C
  1. int sum(int a, int b) { return (a + b); }
  2.  
  3. int main(void) {
  4.    int num1 = 5;
  5.    int result = sum(num1, 4);
  6.    
  7.    return 0;
  8. }
Функцията sum приема параметрите a и b.
В main метода викаш фунцкията sum с аргументите num1 и 4.
Титла: Re: Параметри или аргументи?
Публикувано от: georgirgeorgiev в 02 Декември 2015, 12:34:09
Благодаря ти за коментара!

Може ли да ви попитам, за да видя дали съм разбрал правилно?

Ще дам няколко примерни изречения. Да речем, че става въпрос за метода "eq()" в jQuery:

- eq() метода приема само един параметър
- когато се прилага методът eq(), трябва да се укаже точно какъв аргумент искаме да въведем в него
- за първи аргумент в eq() ще въведа числото 3 - eq(3)
- eq(3) - в момента съм написал "3", като аргумент в метода
- не можем да въвеждаме по повече от един аргумент в eq(), тъй, като той приема само един параметър

Правилно ли са употребените думите "параметър/ри" и "аргумент/и" в тези изречения?
Титла: Re: Параметри или аргументи?
Публикувано от: kjufte в 02 Декември 2015, 17:33:52
Принципно да, но не съм много съгласен с начина на изразяване.
Цитат
- eq() метода приема само един параметър
Тука бих казал изисква , а не приема. Причината е, че в програмирането съществуват опционални параматери. Когато имаш метод/функция с такъв параметър може да я извикаш без него. Т.е параметрите, които приема функцията са два, но изисква само един.

Код: PHP
  1. function sum($num1, $num2=2) {
  2.   return ($num1 + $num2);
  3. }
  4.  
  5. $a = 5;
  6. echo sum($a);
  7. echo "\n";
  8. echo sum($a, 5);

Цитат
- когато се прилага методът eq(), трябва да се укаже точно какъв аргумент искаме да въведем в него
методите ги извикваш, а не го прилагаш.

Цитат
- за първи аргумент в eq() ще въведа числото 3 - eq(3)
след като eq() изисква един единствен аргумент, думата първи е излишна. С нея в изреченето оства впечатлението, че има и втори.
Титла: Re: Параметри или аргументи?
Публикувано от: georgirgeorgiev в 02 Декември 2015, 19:30:02
Благодаря ти много за цялата помощ и старание да ми обясниш :) !

Обърквам се относно как трябва да бъде:

- eq() методът приема един параметър
или
- eq() методът приема един аргумент
Титла: Re: Параметри или аргументи?
Публикувано от: kjufte в 02 Декември 2015, 22:28:55
eq  - методът изисква един параметър.

Дали ще кажеш параметър или аргумент е ала-бала разликата.
По-важно и от значение би било дали казваш метод, или функция. Там има наистина разлика.
Титла: Re: Параметри или аргументи?
Публикувано от: georgirgeorgiev в 03 Декември 2015, 02:11:59
Ясно.
Благодаря ти за вниманието, което ми обърна.
Титла: Re: Параметри или аргументи?
Публикувано от: jazzman в 03 Декември 2015, 12:41:09
Винаги съм ги третирал като едно и също нещо и никога не съм се замислял дали имат разлики.
Титла: Re: Параметри или аргументи?
Публикувано от: georgirgeorgiev в 03 Декември 2015, 13:48:08
Винаги съм ги третирал като едно и също нещо и никога не съм се замислял дали имат разлики.

Може ли да се сметне, че няма нищо неправилно в начина по който си ги третирал? Или това се счита за грешка?
Титла: Re: Параметри или аргументи?
Публикувано от: jazzman в 03 Декември 2015, 15:04:06
Винаги съм ги третирал като едно и също нещо и никога не съм се замислял дали имат разлики.

Може ли да се сметне, че няма нищо неправилно в начина по който си ги третирал? Или това се счита за грешка?
Ами за мен няма нищо грешно да наричаш параметрите аргументи и обратно :)
Титла: Re: Параметри или аргументи?
Публикувано от: georgirgeorgiev в 03 Декември 2015, 15:57:03
Ясно, изглежда не е нещо толкова важно, както написа "kjufte".
Титла: Re: Параметри или аргументи?
Публикувано от: jazzman в 03 Декември 2015, 16:23:48
https://en.wikipedia.org/wiki/Parameter_%28computer_programming%29
Титла: Re: Параметри или аргументи?
Публикувано от: georgirgeorgiev в 03 Декември 2015, 17:07:14
https://en.wikipedia.org/wiki/Parameter_%28computer_programming%29
Благодаря ти!