Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.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 通过p5上setup()中的DOM元素实例化对象_Javascript_Dom_Undefined_P5.js - Fatal编程技术网

Javascript 通过p5上setup()中的DOM元素实例化对象

Javascript 通过p5上setup()中的DOM元素实例化对象,javascript,dom,undefined,p5.js,Javascript,Dom,Undefined,P5.js,我遇到了一个问题,我试图在p5的setup函数中实例化一个对象,使用回调来实现这一点: 这是与问题相关的sketch.js部分: var g; //for graph instance var dropzone; //for the file dropping area function setup() { createCanvas(640, 480); dropzone = select('#dropzone'); //selects the <p> eleme

我遇到了一个问题,我试图在
p5
的setup函数中实例化一个对象,使用回调来实现这一点:

这是与问题相关的
sketch.js
部分:

var g; //for graph instance
var dropzone; //for the file dropping area

function setup() {
    createCanvas(640, 480);

    dropzone = select('#dropzone'); //selects the <p> element I'm using as dropzone
    dropzone.drop(process_file, unhighlight); //unhighlight is just a function to make the drop area not-highlighted
}

function draw() {
    background(200);
    if (g) {
        g.show();
    }else{
        msg = "Please, load a file by dropping it in the box above";
        text(msg, width/2, height/2);
    }
}

// callback being used to process the text file content
function process_file(file){
    data = file.data; //gets file data(content)
    lines = data.split('\n'); // split the lines
    digraph = lines[0] == 1 ? true : false; // is it a digraph?
    v = int(lines[1]);
    g = Graph(digraph, v); //the class I"m using to instantiate the graph
    console.log(g); // <-- says undefined
    g.init_graph(); // initialize all vertices
    for (var i = 2; i < lines.length; i++) {
        edge = lines[i].split(' ');
        g.add_edge(edge[0], edge[1], edge[2]);
    }
}
varg//例如图形
无功区//用于文件放置区域
函数设置(){
createCanvas(640480);
dropzone=select(“#dropzone”);//选择我用作dropzone的元素
dropzone.drop(process_file,unhighlight);//unhighlight只是一个使放置区域不高亮显示的函数
}
函数绘图(){
背景(200);
如果(g){
g、 show();
}否则{
msg=“请将文件放入上面的框中加载”;
文本(消息,宽度/2,高度/2);
}
}
//用于处理文本文件内容的回调
函数进程_文件(文件){
data=file.data;//获取文件数据(内容)
lines=data.split('\n');//拆分行
有向图=线[0]==1?真:假;//是有向图吗?
v=int(第[1]行);
g=图(有向图,v);//我用来实例化图的类
console.log(g);//查看此行:

g = Graph(digraph, v);
我想你是有意这么做的:

g = new Graph(digraph, v);

这将创建一个新实例,并将对该实例的引用存储在
g
变量中。

您的意思是
g=new Graph(digraph,v);
?哦,天哪,这就是问题所在。我习惯于Python,不需要
new
关键字。请将此作为答案发布,以便我可以标记为已解决?当然,答案已发布!