Оператор return
прекрасно работает в вашем коде:
let numsA = [1, 10, 13, 5, 2, 1, 9, 8, 23];
let numsB = [15, 18, 5, 23, 55, 2, 9, 15, 15];
function sumArray(arr) {
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum += arr[i];
}
console.log(sum);
return sum;
}
console.log(sumArray(numsA));
Как видите, он [ 118] следующее:
72
72
Это потому, что у вас есть два console.log
вызова - один внутри функции:
console.log(sum);
и один вне функции:
[ 113]
Первый, который вы ожидаете работать, потому что он регистрирует переменную. Второй - запись возвращаемого значения, так как все операции, связанные с вызовами sumArray
, приведут к возвращаемому значению.
Например, вы можете создавать переменные с возвращаемыми значениями из функций. Вот простая демонстрация:
function myFunction() {
return "Return value";
}
var returnTest = myFunction();
console.log(returnTest);
Это также работает с простым вызовом функции:
function myFunction() {
return "Return value";
}
console.log(myFunction());
И что означает приведенный выше код:
myFunction
console.log
возвращенный значение Поэтому, когда вы работаете, в вашем коде:
console.log(sumArray(numsA));
Это фактически означает:
sumArray
с аргументом numsA
console.log
возвращаемое значение Дополнительное чтение:
tvanfosson-спасибо за справку. (если бы у меня было 15 точек, необходимых, то я проголосовал бы за Вас),
Из Вашей ссылки я смог понять это. Оказывается, что второй параметр к Инициализировать процедуре был списком параметров от поставщика и мог быть достигнут следующим образом:
string configPath = "~/web.config";
Configuration config = WebConfigurationManager.OpenWebConfiguration(configPath);
MembershipSection section = (MembershipSection)config.GetSection("system.web/membership");
ProviderSettingsCollection settings = section.Providers;
NameValueCollection membershipParams = settings[section.DefaultProvider].Parameters;
Initialize(section.DefaultProvider, membershipParams);
Не уверенный, почему Вы хотите создать новый, но если Вы создаете его сами, необходимо будет считать веб-конфигурацию и заставить значения сами передавать для Инициализации (), поскольку это сделано вне класса. Я уверен, тем не менее, что уже существует обработчик разделов для этого раздела, таким образом, это должен быть просто вопрос выполнения:
MembershipSection section = WebConfigurationManager.GetSection("membership");
Затем найдите, что Ваш поставщик и доступ к его свойствам создают NameValueCollection. Я не думаю, что необходимо будет написать любой код для парсинга раздела конфигурации.
Вот документация MembershipSection в MSDN. Выполните развертку оттуда.