【问题标题】:How to call a method from within a constructor如何从构造函数中调用方法
【发布时间】:2015-10-01 20:20:10
【问题描述】:

我已经搜索过类似我的问题,但它并没有太大帮助,因为每个人似乎都在问(并回答)比我的查询更高级的东西(我处于 JavaScript 的最底层知识/技能)。

这是我的代码:

function xyPoint(x, y){
    this.x = x;
    this.y = y;
    this.debugMessage = function(){
        document.getElementById("messageArea").innerHTML =
                "xyPoint(x, y) constructor called";
    };
}

我希望在我这样做时自动打印我的信息性消息

var myPoint = new xyPoint(10, 20);

我不想像这样执行两条语句:

var myPoint = new xyPoint(10, 20);
myPoint.debugMessage();

任何帮助表示赞赏。谢谢。

【问题讨论】:

    标签: javascript function methods constructor call


    【解决方案1】:

    只需在构造函数中调用 debugMessage:

    function xyPoint(x, y){
        this.x = x;
        this.y = y;
        this.debugMessage = function(){
            document.getElementById("messageArea").innerHTML =
                    "xyPoint(x, y) constructor called";
        };
        this.debugMessage();
    }
    

    【讨论】:

      【解决方案2】:

      你可以这样做:var myPoint = new xyPoint(10, 20).debugMessage();

      JSFiddle

      【讨论】:

      • 消息已打印,但变量 myPoint 未定义(因为 debugMessage 方法不返回任何内容)。尝试在脚本末尾调用alert(myPoint);
      猜你喜欢
      • 2013-08-10
      • 1970-01-01
      • 2015-05-17
      • 2013-05-08
      • 2016-05-31
      • 1970-01-01
      • 2014-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多