Различные онлайн объектно-ориентированный JavaScript учебники, кажется, предполагают, что методы, определяющие с использованием традиционного синтаксиса функции, такие как:Как определить методы при использовании knockout.js?
function x(y) { ... }
эквивалентно:
x = function (y) { ... }
Я с тех пор обнаружил некоторые отличия - например, точка, в которой привязаны имена функций.
Я определял свои методы, используя традиционный синтаксис функций, но обнаружил, что не могу создать привязку «submit» в knockout.js. Следующее связывание не работает:
<form id="myForm" action="#" method="get" data-bind="submit: x">
Он сообщает:
Message: ReferenceError: x is not defined;
Однако делает работы, когда я использую нетрадиционный «назначение» синтаксис функции.
Может кто-нибудь объяснить, почему я не могу привязываться к методу, который использует традиционный синтаксис?
Если кто-либо знает о всестороннем обсуждении различий между синтаксисами различных методов, это может быть полезно. Это трудный вопрос для поиска (по крайней мере, когда вы не уверены в официальной терминологии).
Dommer спросил, в чем разница, и ваш ответ повторяет, что есть разница, но не объясняет далее технические различия. У вас есть ссылки на различия? – mj2008