Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
访问JavaScript对象属性和函数时出现未定义错误_Javascript_Node.js - Fatal编程技术网

访问JavaScript对象属性和函数时出现未定义错误

访问JavaScript对象属性和函数时出现未定义错误,javascript,node.js,Javascript,Node.js,我是新来的。我试图使用.notation访问对象属性和方法,它为对象属性提供了未定义的错误,为对象函数提供了类型错误:dice.roll不是函数 以下是代码: 对象文件: var dice = { size: 4, count:3, roll:function(){ var result = Math.ceil(this.size * Math.random()); return result; } }; exports.

我是新来的。我试图使用.notation访问对象属性和方法,它为对象属性提供了
未定义的
错误,为对象函数提供了
类型错误:dice.roll不是函数

以下是代码:

对象文件:

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());
程序文件:

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());

您需要使用
module.exports=dice

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

module.exports = dice;

代替此代码:
exports.diceObjectName=dice试试这个:
module.exports=dice

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

module.exports = dice;
或者这个:

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

您正在导出diceObjectName中的对象。因此,为了使用它,您必须这样做:

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

控制台.log(dice)的结果是什么?
尝试更改
exports.diceObjectName=dice进入
导出。骰子=骰子