0
我正试图用Javascript原型对象包装头部,并且可能由于我对传统类的理解而遇到了块。在原型构造函数中创建对象引用
我的代码如下所示:
$(document).ready(function() {
var instance = new cards();
$dom = instance.buildItem(5);
}
var cards = function() {
//constructor
this.chromaObj = chroma.scale(["lightblue", "navy"]).domain([2, 6]);
}
cards.prototype.buildItem = function (val) {
var scale = this.chromaObj;
var $item = $("<span>" + val + "</span>").addClass("label-default").addClass("label").css({
"background-color": scale(val)
});
return $item;
}
每次规模是所谓的buildItem功能,我在,这种规模是不是一个函数,但是如果我创建了规模实例的控制台收到错误在buildItem函数内部,它按预期工作。
有人可以请指出我在正确的方向,为什么我无法在构造函数中定义时访问函数引用?
因为比例不是函数。改变'this.chromaObj = chroma.scale([“lightblue”,“navy”])。domain([2,6]);'到'this.chromaObj = chroma.scale'这意味着你正在分配函数引用。 – vinayakj
检查'chroma.scale([“lightblue”,“navy”])。域([2,6])是否返回函数 –
Chroma使用方法链模式,所以我调用的所有函数都应该返回一个新实例和对'this.chromaObj(val)'的调用应调用色度构造函数。我想将具体的scale([“lightblue”,“navy”])。domain([2,6])实例赋值给chromaObj。 – phosplait