Показать сообщение отдельно
  #29 (permalink)  
Старый 06.02.2020, 22:49
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,501

Malleys, просто пишет чушь ради чуши.

Например хипстерское дерьмо, типа:
const factorial = x => {
	if (x === 1)
		return 1;
	else
		return x * factorial(x - 1);
}

alert(factorial(5));
после чего решает проблему которой нет.

Нормальный человек напишет:
function factorial(x) {
	if (x === 1)
		return 1;
	else
		return x * factorial(x - 1);
}
и это будет работать всегда.

Даже если мы потом сделаем так:
function factorial(x) {
	if (x === 1)
		return 1;
	else
		return x * factorial(x - 1);
}

const f = factorial;
alert(f(5));
или так:
// factorial-module.js
function factorial(x) {
	if (x === 1)
		return 1;
	else
		return x * factorial(x - 1);
}

export default factorial;

// main.js
import f from './factorial-module';
alert(f(5));


Если мы хотим пулять функцию по разным переменным сразу после создания, но при этом не хотим засорять область видимости её оригинальным названием(почему?), то всегда можно сделать так:
const factorial = function fcallee(x) {
	if (x === 1)
		return 1;
	else
		return x * fcallee(x - 1);
}


const f = factorial;
const f2 = factorial;

alert(typeof fcallee);
alert(factorial(5));
alert(f(5));
alert(f2(5));


Нет никакой проблемы и никакого смысла в arguments.callee, и уж точно нет смысла в онанизме от Malleys.
__________________
29375, 35

Последний раз редактировалось Aetae, 06.02.2020 в 23:04.
Ответить с цитированием