Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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_Jquery - Fatal编程技术网

Javascript 未捕获类型错误:无法读取属性';附加项';未定义的

Javascript 未捕获类型错误:无法读取属性';附加项';未定义的,javascript,jquery,Javascript,Jquery,我试图使用jqplot创建一个饼图,但是我在标题中显示了错误。最后,我想使用下面的代码创建不同类型的jqplot图表,因为数据格式基本相同。retrieveData()中的for循环是我创建数据的地方,这些数据将填充生成饼图或条形图的所有项目数组。我想先让它为饼图工作。你也可以找到 var schoolApp=window.schoolApp | |{}; schoolApp.itemType=新数组(); $(文档).ready(函数(){ 检索数据(); }); 函数retrieveData

我试图使用jqplot创建一个饼图,但是我在标题中显示了错误。最后,我想使用下面的代码创建不同类型的jqplot图表,因为数据格式基本相同。retrieveData()中的for循环是我创建数据的地方,这些数据将填充生成饼图或条形图的所有项目数组。我想先让它为饼图工作。你也可以找到

var schoolApp=window.schoolApp | |{};
schoolApp.itemType=新数组();
$(文档).ready(函数(){
检索数据();
});
函数retrieveData(){
var allItems=new getItems();
var k=0;

对于(i=0;i您不需要使用
window
访问局部变量,只需删除它,它就会工作

function retrieveData() {
        var allItems = new getItems();    
        var k=0;
        for (i=0; i<10; i++){

        k +=i;
        allItems.addItems("Hello"+i, k);
    }

    chartArray = allItems.getChartData();

    plotChart(chartArray);
}

function getItems() {
    this.inputs = {};
    this.items = [];

this.addItems = function (unqItem, amount1) {
    if (!this.inputs[unqItem]) {
        this.items.push(unqItem);
        this.inputs[unqItem] = 0;
    }
    this.inputs[unqItem] += amount1;
};

this.getChartData = function () {
    var chartAry = [];
    for (i = 0; i < this.items.length; ++i) {
        chartAry.push([this.items[i], this.inputs[this.items[i]]]);
    }
    return chartAry;
}
函数retrieveData(){
var allItems=new getItems();
var k=0;

对于(i=0;错误很明显,您正在尝试访问一个不存在的属性:
window.allItems
未定义,因此无法访问它。的可能重复项
function retrieveData() {
        var allItems = new getItems();    
        var k=0;
        for (i=0; i<10; i++){

        k +=i;
        allItems.addItems("Hello"+i, k);
    }

    chartArray = allItems.getChartData();

    plotChart(chartArray);
}

function getItems() {
    this.inputs = {};
    this.items = [];

this.addItems = function (unqItem, amount1) {
    if (!this.inputs[unqItem]) {
        this.items.push(unqItem);
        this.inputs[unqItem] = 0;
    }
    this.inputs[unqItem] += amount1;
};

this.getChartData = function () {
    var chartAry = [];
    for (i = 0; i < this.items.length; ++i) {
        chartAry.push([this.items[i], this.inputs[this.items[i]]]);
    }
    return chartAry;
}