首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >函数不允许未定义的参数。

函数不允许未定义的参数。
EN

Stack Overflow用户
提问于 2014-04-16 15:28:37
回答 1查看 87关注 0票数 0

我试图获取一个包含数组"XY“的函数。JS抛出一个错误,说明我不能索引该变量。但是这似乎很疯狂,因为它只是加载一个函数-当然,数组还没有定义!我遗漏了什么?

代码语言:javascript
复制
function reformat(XY) {
    "use strict";

var exper = [];
    exper.X = [];
    exper.Y = [];

    for(var i=0;i<XY.length;i++){ // here, throws error "Uncaught TypeError: Cannot read property 'length' of undefined "
        exper.X[i] = XY[i][0];
        exper.Y[i] = XY[i][1];
    }

}; // END reformat

函数在加载数据后用作回调:

代码语言:javascript
复制
    <script type="text/javascript">
        loadXY("XY.csv", reformat);
    </script>


function loadXY(fname,callback){
    d3.csv(fname, function(data) {
        var XY = data.map(function(d) { return [ Number(d["X"]), Number(d["Y"])]; });
    });
    callback(XY);
}

编辑:添加html上下文,以防有帮助:

代码语言:javascript
复制
<!doctype html>

<html>
<head>
    <title>Experiment</title>
    <meta charset="utf-8">
    <script src="easeljs-min.js" type="text/javascript"> </script>
    <script src="numeric-min.js" type="text/javascript"> </script>
    <script src="jquery-min.js" type="text/javascript"> </script>
    <script src="jquery.csv-0.71.min.js" type="text/javascript"> </script>

    <script src="d3.min.js" type="text/javascript"> </script>
    <script src="reformat.js" type="text/javascript"> </script>
    <script src="loadXY.js" type="text/javascript"> </script>

    <link rel=stylesheet href="task.css" type="text/css" media="screen">

</head>

<body>
    <script type="text/javascript">
        loadXY("XY.csv", reformat);
    </script>

    <canvas id="easel" width="640" height="480"> Stop Using IE! </canvas>

</body>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-16 15:44:27

在前一个循环中初始化XY。您需要将callback(XY);移到它上面的函数中,如下所示:

代码语言:javascript
复制
function loadXY(fname,callback){
    d3.csv(fname, function(data) {
        var XY = data.map(function(d) { return [ Number(d["X"]), Number(d["Y"])]; });
        callback(XY);
    });

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23113821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档