2015-10-20 2 views
1

Как новичок я хотел бы знать, что если мыфункция присваивается переменной

function square(x) { return x*x; } 

и

var s = square; 
square(4); 

Поэтому в основном s новая функция, в которой квадрат функции копируется ? потому что я в замешательстве. пожалуйста помоги.

+0

's - это новая функция, в которой скопирована квадратная функция? Нет, теперь' '' ссылки на 'square' – Tushar

+0

@Tushar, который я хочу знать, как новая функция? –

+0

Нет, оба указывают на одну и ту же функцию. Вы слышали о _soft-link/shortcut_ в ОС, это та же концепция – Tushar

ответ

2

так что в основном s - это новая функция, в которой копируется квадратная функция?

Нет, s это просто другое «имя», с которым вы можете обратиться к то же функции.

s === square будет true, т.е. обе привязки будут относиться к одному и тому же объекту.

+0

, поэтому вы имеете в виду, что S является ссылкой на эту функцию, –

+0

правильно @MarcAndreJiacarrini, это переменная указывает на то же место в памяти –

+0

Лучшим словом для «name» может быть «псевдоним». Я думаю, это было то, ради чего вы шли, не так ли? –

0

S не является новой функцией. Это просто указатель на квадратную функцию. Они одинаковы.

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