具有以下功能:
wordcloud = WordCloud().generate_from_frequencies(tuples)
我在声明后使用这个函数:
function ObjDataSet () {
this.header = "";
this.dataIdx = 0;
this.DataRows = [];
this.CountRow = 0;
}
....
ObjDataSet.prototype.NameString = function(argIdx, argName, argValue) {
var arrObj = this.DataRows[argIdx-1];
arrObj[argName] = argValue;
this.DataRows[argIdx-1] = arrObj;
};
但是我想使用赋值运算符这样的函数:
var dataSet = new ObjDataSet();
dataSet.NameString(1, "CUST_KIND",document.searchForm.CUST_KIND.value);
要使用赋值操作,如何更改“NameString”函数? 我不想将值指定为函数的参数。
谢谢。
答案 0 :(得分:0)
你无法做你想要的。赋值的左侧必须是对象的变量或属性。你能做的最接近的是:
dataSet.NameString(1).CUST_KIND = 'value';
假设dataSet.NameString(1)
返回一个可以为其分配属性的对象。这是一个完整的演示:
var dataSet = setup();
// Log DataRows before and after assigning:
console.log( dataSet.DataRows );
dataSet.NameString(1).CUST_KIND = 'value';
console.log( dataSet.DataRows );
//////
// Prepare dataSet object with `DataRows[0] = {};`
function setup ( ) {
function ObjDataSet () {
this.header = "";
this.dataIdx = 0;
this.DataRows = [];
this.CountRow = 0;
}
ObjDataSet.prototype.NameString = function(argIdx, argName) {
return this.DataRows[argIdx-1];
};
const dataSet = new ObjDataSet;
dataSet.DataRows[0] = {};
return dataSet;
}