2016-04-29 2 views
0

Я занимаюсь курсом по курсу Академии JS, и иногда мне сложно смущаться, когда передавать аргументы в функцию и когда оставить ее пустой.Использование функций с пустыми параметрами в JavaScript

Например, при создании нового класса, я буду использовать функцию с аргументами:

function Person (name, age, address, email) { 
this.name = name; 
this.age = age; 
this.address = address; 
this.email = email; 
} 

var zach = new Person ('Zach', '30', 'Bla Bla', '[email protected]); 

, но иногда я вижу классы, созданные с пустыми аргументами, например, это:

function StudentReport() { 
this.grade1 = 4; 
this.grade2 = 2; 
this.grade3 = 1; 
this.getGPA = function() { 
    return (this.grade1 + this.grade2 + this.grade3)/3; 
}; 
} 

Откуда вы знаете, когда использовать функцию, которая принимает аргументы, и когда использовать тот, который этого не делает? Моя первоначальная мысль заключается в том, что вы делаете это каждый раз, когда вы придаете значение вашим свойствам (в этом случае каждый класс как числовое значение).

Я прав? Благодаря

+0

Фактически мы передаем параметры в функцию, и эти параметры становятся аргументами внутри функции при ее вызове. Но чтобы ответить на вопрос, мы передаем параметры конструкторским функциям, когда мы собираемся что-то сделать с ними внутри функции: присвоение переменная/свойство, что угодно. –

ответ

2

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

function Person (name, age, address, email) 

имя, возраст, адрес и адрес электронной почты здесь параметры

Когда функция вызывается,

var zach = new Person ('Zach', '30', 'Bla Bla', '[email protected]); 

'Zach', '30', 'Bla Bla', и '[email protected]' - это аргументы, передаваемые функции.

Что касается, когда использовать функции с параметрами, короткий ответ был бы:

Если вы планируете повторно использовать функцию с разными значениями (аргументы), а затем определить функцию с параметрами, в противном случае вам придется каждый раз воссоздайте всю функцию с новыми значениями.

Если вы используете функцию только один раз, чтобы установить некоторые значения или выполнить некоторые другие действия. Тогда функция без параметров будет работать отлично.

+1

Было немного сложно дать один ответ на вопрос, поскольку он слишком широк ИМО, но этот ответ хорош ;-) –

+0

Спасибо, я немного попытался сделать краткий ответ. Мы, очевидно, могли потратить много времени на обсуждение этой темы, но я надеюсь, что это поможет. –

+0

Спасибо, так, другими словами, функция, которая принимает параметры, - это тот, который будет использоваться повторно несколько раз. И функция, которая не принимает параметры, - это тот, который делает больше общего действия (в этом случае вычисление жесткого набора) один раз без необходимости его изменения? –

0

Сначала вы должны понимать, что в функции изначально заимствованы из математики.

Функция - это процедура, которая принимает ввод типа A и возвращает выход типа B, тогда как A и B могут быть почти любыми.

пример - функция добавления, которая в основном принимает 2 аргумента, которые являются числовыми, и возвращает один результат, который также является числовым. так пусть все числа будут называть A, функция добавления в дальнейшем AXA -> А.

других примеры:

абсолютного значение функция: номер -> номер Javascript console.log функции (печатает на консоль): строка - нет> (ничего)

Javascript функция ParseInt (получается строка номер): строка -> номер

Javascript место.перезагрузка (вкладка обновления): (ничего) -> (ничего)

с объяснением выше, давайте разобраться в значении использования параметров. Параметры, которые вы используете, - это ваш способ определить, что будет делать функция, чтобы что-то вернуть. Ваша функция Person предназначена для получения имени, возраста, addres и т. Д., Чтобы вернуть объект person. Если эта функция должна была всегда возвращать одного и того же человека, вам не понадобится ни одно из них, поскольку вы могли бы заранее их знать.

Таким образом, параметры используются для привлечения дополнительной информации, дополнительного ввода, необходимого вашей функции для возврата желаемого результата. используйте его, когда вы хотите настроить поведение своей функции, когда вам не нужно, , как в reload, а затем нет.

Смежные вопросы