访问JavaScript对象属性和函数,给出未定义的错误

时间:2018-01-15 13:22:07

标签: javascript node.js

我是节点新手。我尝试使用.notation访问对象属性和方法,它为对象属性提供undefined错误,为对象函数提供"TypeError: dice.roll is not a function "

这是代码:

目标文件:

var dice = {
    size: 4,
    count:3,    
    roll:function(){
        var result = Math.ceil(this.size * Math.random());
        return result;
    } 
};
exports.diceObjectName = dice;

程序文件:

var dice = require("./dice");    
console.log(dice);    
console.log(dice.roll());

3 个答案:

答案 0 :(得分:1)

您需要使用module.exports = dice

var dice = {
    size: 4,
    count:3,    
    roll:function(){
        var result = Math.ceil(this.size * Math.random());
        return result;
    } 
};

module.exports = dice;

答案 1 :(得分:0)

而不是此代码:exports.diceObjectName = dice;请尝试:module.exports = dice

或者这个:

var dice = require("./dice").diceObjectName;    
console.log(dice);    
console.log(dice.roll());

答案 2 :(得分:0)

您正在diceObjectName中导出对象。所以为了使用它你必须这样做:

var dice = require("./dice").diceObjectName;

Example