返回一个带有参数的对象

return a object with parameter

本文关键字:参数 对象 一个 返回      更新时间:2023-09-26

我有一个名为"sheet1"的对象

var nr = 1;
function Sheet(title){
    this.div = document.createElement('div');
    this.div.dataset.sheetNr = nr;
    this.div.dataset.sheetTitle = title;
    document.getElementById("sheets").appendChild(this.div);
    nr++;
}
Sheet.prototype = {
    constructor: Sheet,
    get : function(data){
        return this.div.dataset.data;
    }
}
var sheet1 = new Sheet("Title1");

现在当我调用函数时

sheet1.get("sheetNr");

它返回"undefined"!。。。我该如何解决这个问题?

// console.log(data); outputs sheetNr

但是当我像一样改变我的功能时

Sheet.prototype = {
    constructor: Sheet,
    get : function(){
        return this.div.dataset.sheetNr;
    }
}

然后打电话sheet1.get();它返回纸张的编号。。。1在这种情况下。。。

http://codepen.io/anon/pen/rOXZjq?editors=101

您没有在正在创建的div上定义数据属性,因此它在调用时不存在。当您调用this.div.dataset.sheetNr时,实际上您正在命中一个已定义的属性。要使用变量data作为索引,您需要调用:CCD_ 3。