JavaScript 模块问题

JavaScript Module issue?

本文关键字:问题 模块 JavaScript      更新时间:2023-09-26
    Module = (function () {

    var Method  = function () {
        this.doSomething =function () {
            return "doSomething";
        };
    }

    return {
        Method:Method
    };
})();
var value=Module.Method.doSomething;
console.log(value);

Javascript的新手,来自Java背景。

为什么价值会以未定义的形式返回?

干杯。

你必须有一个Method的对象才能访问属性doSomething,你可以像这样实现它

 Module = (function () {
    var Method  = function () {
        this.doSomething =function () {
            return "doSomething";
        };
    }
    return {
        Method:Method
    };
})();
var value= new Module.Method();
alert(value.doSomething());

你也可以像这样接近它

Module = (function () {
  var Method  = function () {
    this.doSomething =function () {
        return "doSomething";
    };
  }
  return {
    Method:new Method
 };
})();
var value=Module.Method.doSomething();
alert(value);

用作

 var value= new Module.Method().doSomething();

演示

Module.Method是一个函数,显然是为了用作构造函数而设计的。您也没有调用该函数。

var value=new Module.Method().doSomething();
                          ^^^ create an instance of Module.Method
                            ^^^ call the doSomething method of it.