javascript - 返回一个带参数的对象

标签 javascript object parameters return

我有一个名为“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");

它返回“未定义”!...我该如何解决这个问题?

// 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 用作索引,您需要调用: this.div.dataset[data] 代替。

关于javascript - 返回一个带参数的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34006861/

相关文章:

c++ - 将文件读入对象数组C++

C++:将函数从一个函数传递到另一个函数

javascript - Focus() 当前模态选项卡中的第一个输入

javascript - 使用node js和react js的文件加载问题

javascript - 为什么按索引调用对象项会出现语法错误?

html - 向 href 链接添加参数

parameters - 我该如何解决这个Moq错误? System.Reflection.TargetParameterCountException : Parameter count mismatch

javascript - 形式选项中的方程

javascript - 更改点击元素javascript的innerHTML

php - 在 php 中返回对象