return 一个带参数的对象
return a object with parameter
我有一个名为 '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");
它 returns 'undefined' !...我该如何解决这个问题?
// console.log(data); outputs sheetNr
但是当我改变我的函数时
Sheet.prototype = {
constructor: Sheet,
get : function(){
return this.div.dataset.sheetNr;
}
}
然后调用
sheet1.get();
它 returns sheet...1 在这种情况下...
您没有在您正在创建的 div 上定义数据属性,因此它不存在。当您调用 this.div.dataset.sheetNr
时,您实际上是在点击定义的属性。要将变量 data
用作索引,您需要调用:
this.div.dataset[data]
而不是。
我有一个名为 '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");
它 returns 'undefined' !...我该如何解决这个问题?
// console.log(data); outputs sheetNr
但是当我改变我的函数时
Sheet.prototype = {
constructor: Sheet,
get : function(){
return this.div.dataset.sheetNr;
}
}
然后调用 sheet1.get(); 它 returns sheet...1 在这种情况下...
您没有在您正在创建的 div 上定义数据属性,因此它不存在。当您调用 this.div.dataset.sheetNr
时,您实际上是在点击定义的属性。要将变量 data
用作索引,您需要调用:
this.div.dataset[data]
而不是。