Наличие объекта в качестве параметров в функции - PullRequest
0 голосов
/ 25 июня 2018

Я хотел бы спросить об объекте как о параметре в функции.Может ли кто-нибудь предоставить простой пример этого?

Я только знаком со следующим:

function sampleFunction(par1, par2, par3){

   return par1 + par2 + par3;
  }

Я хотел бы знать, как использовать объект в качестве параметра в функции.

Потому что я хочу использовать 1-7 параметров.Чтобы уменьшить это, кто-то сказал мне, что я могу использовать объекты в качестве параметров, но как?

спасибо тем, кто поможет

Ответы [ 4 ]

0 голосов
/ 25 июня 2018

Вы можете передать объект, как вы сказали (что является хорошей практикой):

function someFunction(obj) {
   console.log(obj.option1, obj.option2);
}
someFunction({ option1: true, option2: false });

Используя es6, вы можете сделать:

function someFunction({ option1, option2 }) {
   console.log(option1, option2);
}
someFunction({ option1: true, option2: false });

Если вы передадите их в качестве параметров и захватите их с помощью аргумента:

function someFunction(option1, option2) {
     console.log(arguments[0], arguments[1]);
}
someFunction(true, false);

Позаботьтесь о том, чтобы аргументы НЕ являлись массивом, это был массив, подобный объекту, вы можете обращаться к элементам по индексу и иметь свойство длины, но в нем отсутствуют остальные методы массива.

0 голосов
/ 25 июня 2018

Это оригинальная функция. 3 аргумента передано функции.

function sampleFunction(par1, par2, par3){
    return par1 + par2 + par3;
}

sampleFunction(par1, par2, par3); // call function

Вы можете передать объект функции в качестве единственного аргумента. Это дает вам тот же результат.

var obj = {
    par1: par1,
    par2: par2,
    par3: par3
};

function sampleFunction(params){
    return params.par1 + params.par2 + params.par3;
}

sampleFunction(obj); // call function
0 голосов
/ 25 июня 2018

Вам не нужно использовать аргументы, например:

    function a({b ,c}) {
    console.log('b: ', b, 'c: ', c)
}
    
a({ b: 1, c: 2 });
0 голосов
/ 25 июня 2018

Да, вам просто нужно предварительно определить переменную (просто чтобы иметь чистый код) и отправить ее в качестве параметра:

function previousFunction() {

   var args = {
     name: 'Yoda',
     option2: 'B'
   };

   someFunction(args);
}

function someFunction(args) {
   var name = args.name;
   var option2 = args.option2;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...