我想尝试面向对象的js,我想知道我正在尝试的两种方法中哪种方法更好,为什么它更好,请解释,如果还有其他更好的方法,请建议我。
// Approch 1
var thisPage;
abc.forgotPassword = {
init: function() {
'use strict';
thisPage.forgotPasswordFunctionality();
},
forgotPasswordFunctionality: function() {
//some code
}
};
$(function() {
thisPage = abc.forgotPassword;
thisPage.init();
});
// Approch 2
abc.forgotPassword = {
init: function() {
'use strict';
abc.forgotPassword.forgotPasswordFunctionality();
},
forgotPasswordFunctionality: function() {
//some code
}
};
$(function() {
abc.forgotPassword.init();
});
最佳答案
这并不是真正面向对象的 Javascript - 您只是将函数存储在对象中。
如果你想让它更加面向对象,请执行以下操作:
abc.ForgotPasswordHelper = function() {
this.init = function() { ... }
this.forgotPasswordFunctionality = function() { ... }
}
var helper = new abc.ForgotPasswordHelper();
helper.init();
关于OOP 的 JavaScript 命名空间和模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26551273/