Nodejs需要具有初始化程序的类

Wil*_*3uk 7 javascript class node.js

例如,我有以下课程

var Person = function(name)
{
  this.sayHi = function()
  {
    return "Hello, " + name + "!";
  }
}

exports.Person = Person;
Run Code Online (Sandbox Code Playgroud)

在nodejs我尝试过

var Person = require('modulename').Person('Will');
Run Code Online (Sandbox Code Playgroud)

但这只是给了身份不明.如何在nodejs中需要一个带初始值设定项的类?

Thi*_*ter 14

var mod = require('modulename');
var somePerson = new mod.Person('Will');
Run Code Online (Sandbox Code Playgroud)

在您的代码中,您直接调用了构造函数new,因此this绑定到全局上下文而不是新Person对象.因为你没有this在函数中返回,所以你得到了未定义的错误.

请参阅http://jsfiddle.net/ThiefMaster/UCvC2/进行一些演示.