Сообщение от extrabass4
|
То есть понятия метод в JS употребляется только, когда они находятся в function?
|
Метод -- это свойство со ссылкой на функцию, можно так сказать. Функция в js - это первоклассный объект. На этот объект может быть много ссылок.
f=function waw(){}//f является ссылкой на (скомпилированный) объект function waw(){}
o={}
o.f=f//o.f является ссылкой на (скомпилированный) объект function waw(){}, т.e. тот же самый объект.
Методом обычно называют ссылку типа o.f, хотя это условность, f является global.f (в браузере global -- window)
Сообщение от extrabass4
|
и получается функция это своего рода объект судя по синтаксису: counter.set?
|
Да, в js все есть объект, семантически, по факту, примитивные типы не являются объектами, но и с ними можно обращатся как с объектами, они преобразуются в объекты, при необходимости. Функция -- это 100% объект.
Сообщение от extrabass4
|
работает return counter
|
Твое непонимание идет от того, что ты не можешь отличить функцию от вызова функции. допустим есть функция. Представь себе, что return - это не синтаксическая конструкция, а функция, которая получает 1 аргумент.
foo=function(){return(yoba)}
return (foo) // return получает в качестве аргумента function(){return(yoba)}
return (foo()) // return получает в качестве аргумента yoba
Прочувствуй эту разницу