各种在线的面向对象 JavaScript 教程似乎都建议使用传统的函数语法定义方法,例如:
function x(y) { ... }
相当于:
x = function (y) { ... }
从那以后,我发现了一些差异——例如,函数名称的绑定点。
我正在使用传统的函数语法定义我的方法,但发现我无法在 knockout.js 中创建“提交”绑定。以下绑定不起作用:
<form id="myForm" action="#" method="get" data-bind="submit: x">
它报告:
Message: ReferenceError: x is not defined;
但是,当我使用非传统的“赋值”函数语法时,它确实有效。
谁能解释为什么我不能绑定到使用传统语法的方法?
如果有人知道对不同方法语法之间差异的全面讨论,那可能会很有用。这是一个很难搜索的主题(至少当您不确定官方术语时)。