Можете ли вы объяснить, почему я могу сделать выражение функции из переменной другой функции в JavaScript

1

Можете ли вы объяснить, почему я могу сделать выражение функции из переменной другой функции в javascript?

Exemple:

let test = function(){
    console.log("Hi");
}

test.hello = function(){
    console.log("Hello");
}

test();
//hi

test.hello();
//hello

Каждая функция выполняет разные вещи, но функция "test.hello()" использует переменную "тест" из первой функции.

Мне не нужно создавать новую переменную для второй функции test.hello().

Я хочу знать, почему javascript позволяет нам это делать. Если вы можете использовать множество деталей, это будет оценено по достоинству.

Спасибо.

  • 0
    Функции - это объекты, и объектам могут быть назначены свойства. Если эти свойства также являются функциями, эти свойства могут быть вызваны как функции. Это все, что здесь происходит.
Теги:
function
expression

2 ответа

0

Большое спасибо за ответ.

Еще кое-что. Это просто бесполезно, как последний фрагмент выше.

Лучше сделать так:

let test = function(){
    console.log("Hi");
}

let hello = function(){
    console.log("Hello");
}

По-моему, это более понятно. Вместо этого используйте две переменные.

0

Это в основном то, как вы собираетесь создавать свойства и методы для объекта JS. JavaScript позволяет вам сделать это, чтобы вы могли выполнять объектно-ориентированное программирование. Вероятно, вы привыкли к другим языкам, которым требуется определить функцию и ее "свойства и методы", но с JS это так же просто, как вы продемонстрировали.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню