源码在: https://github.com/rickharrison/validate.js/blob/master/validate.js#L126
var _onsubmit = this.form.onsubmit;
this.form.onsubmit = (function(that) {
return function(evt) {
try {
return that._validateForm(evt) && (_onsubmit === undefined || _onsubmit());
} catch(e) {}
};
})(this);
其中这行代码, 作者想表达的意思是什么?
return that._validateForm(evt) && (_onsubmit === undefined || _onsubmit())
怎样用 if(或其他更清晰的)语句代替下面这行短路求值(&&和||)的代码?:
return that._validateForm(evt) && (_onsubmit === undefined || _onsubmit());
that._validateForm(evt) 上半段代码似乎总是会执行
(_onsubmit === undefined || _onsubmit())
等价于:
if(_onsubmit) {
_onsubmit();
}
这半段代码, 作者想表达的意思似乎是: 如果在 form 元素上添加了 onsubmit 事件属性,则执行_onsubmit()回调函数
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.