javascript - 面向对象的 JavaScript 帮助

标签 javascript singleton oop closures

我有以下代码:

var HD = function() { };

HD.Car = (function() {
    var _date = "09/07/2010";
    return {
        Make: undefined,
        Model: undefined,
        showMakeAndModel: function() {
            document.write(this.Make + " " + 
                           this.Model + 
                           " (data correct as of " + _date + ")");
            }
        };
    })();

var bert = new HD.Car();
bert.Make = "Ford";
bert.Model = "Capri";
window.onload = bert.showMakeAndModel();

并出现以下错误:

HD.Car is not a constructor

我想做的就是测试(学习)带有闭包的“单例模式”(对于私有(private)成员),所以不是一个“真实”的例子,但我正在读的书表明这是这样做的方法它。

所以有点困惑 - 任何帮助将不胜感激.. 罗布

最佳答案

HD.Car 类定义中有一些不正确的 ()()。这个固定示例的工作原理:

var HD = function() { }; 

HD.Car = function() { 
    var _date = "09/07/2010"; 
    return { 
        Make: undefined, 
        Model: undefined, 
        showMakeAndModel: function() { 
            document.write(this.Make + " " +  
                           this.Model +  
                           " (data correct as of " + _date + ")"); 
            } 
        }; 
    }; 

var bert = new HD.Car(); 
bert.Make = "Ford"; 
bert.Model = "Capri"; 
window.onload = bert.showMakeAndModel();

关于javascript - 面向对象的 JavaScript 帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3213909/

相关文章:

javascript - 聚合物 Selenium 测试访问子元素数据

javascript - 使用 Javascript 连接多维数组中的字符串元素

java - 在 Java 中使用静态访问修饰符实现单例

ios - swift 中的 loadNibNamed 应该返回 Singleton 对象

php - 在 symfony 中,包是什么?

javascript - 将 .apply() 与 'new' 运算符一起使用。这可能吗?

java - 如何使用 main() 中的对象数组访问类私有(private)成员?

JavaScript 正则表达式 : match all quotes in given HTML attribute

javascript - 给定 X、Y、宽度和高度变量,如何在 Google App 脚本中查找形状的开始值和结束值?

java - 结合工厂方法和单例设计模式