我不会撒谎,我对 JavaScript 很擅长,也没有完全理解 IIFE 概念,但自从我读过 jQuery Best Practices然后第一次遇到这个概念加上后来进行的一些研究,我想到了这一点:
( function( MyObject, window, document, $, undefined ) {
var privateVariable = {};
MyObject.publicVariable;
function privateMethod() {}
myObject.publicMethod() {}
}( window.MyObject = window.MyObject || {}, window, document, window.jQuery ) );
虽然它按预期工作得很好,但我最近觉得需要某种形式的抽象,以便我可以创建一个具有共享属性和方法的基类以及具有自己逻辑的子对象。
这样我就不需要,比方说,重复每个单独对象中所有子对象所共有的getter。
当然,我已经搜索过这个问题,但我没有找到有关如何用这个概念实现此类功能的具体信息。
最佳答案
使用构造方法怎么样:
( function( MyObject, window, document, $, baseClass) {
// calling base class for common properties, methods
baseClass && baseClass.call(MyObject);
var privateVariable = {};
MyObject.publicVariable;
function privateMethod() {}
myObject.publicMethod() {}
}( window.MyObject = window.MyObject || {}, window, document, window.jQuery, baseClass ) );
关于JavaScript 对象继承与 IIFE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41445476/