我是淘汰赛的新手。我想知道这三者之间的区别,以及根据最新框架,哪一个是最好的。
方法1(InvoiceTypes):使用逗号声明所有变量和方法,最后使用return语句公开公共接口方法。
方法 2(OrderTypes):与方法 1 类似,但使用分号来区分每个变量或方法。
方法 3 (ModelTypes):类似于方法 2,但没有返回语句。
最后在jquery read中的每个方法中指定start方法的调用方式。
方法一
window.Domain = window.Domain || {}
window.Domain.InvoiceTypes = function () {
var types = ko.observableArray(),
getTypes = function() { return types; },
start = function() {
types.push({name:"knockout"});
},
submit = function() {
alert("submit");
};
return {
getTypes: getTypes,
start: start,
submit: submit
};
}();
方法二
window.Domain.OrderTypes = function () {
var types = ko.observableArray();
var getTypes = function() { return types; };
var start = function() {
types.push({name:"knockout"});
};
var submit = function() {
alert("submit");
};
return {
getTypes: getTypes,
start: start,
submit: submit
};
}();
方法 3
window.Domain.ModelTypes = function () {
var self = this;
self.types = ko.observableArray();
self.getTypes = function() { return types; };
self.start = function() {
types.push({name:"knockout"});
};
self.submit = function() {
alert("submit");
};
};
<script type="text/javascript">
$(document).ready(function() {
window.Domain.InvoiceTypes.start();
window.Domain.OrderTypes.start();
var obj = new window.Domain.ModelTypes();
obj.start();
});
</script>
我可以清楚地看到的区别是,单个 var 声明和返回语句以及 this 关键字对 self 的使用。
请提供您的意见。