为什么我们在getter和setter函数中返回这个
Why we return this in getter and setter function?
sap.designstudio.sdk.DataBuffer.subclass("com.sap.sample.jsondatasource.JsonDataSource", function() {
var that = this;
var _hasHeaderRow = false;
var _hasHeaderColumn = false;
var _csvfile;
this.init = function() {
this.defineDimensions([{
key: "cols",
text: "City",
"axis": "COLUMNS",
"axis_index": 0
}, {
key: "rows",
text: "Date",
"axis": "ROWS",
"axis_index": 0
}], {
key: "measures",
text: "Measures",
containsMeasures: true,
members: [{
"key": "measure",
"text": "Temprature",
"scalingFactor": 2,
"formatString": "0.00 EUR;-0.00 EUR"
}]
});
};
this.csvfile = function(value) {
if (value === undefined) {
return _csvfile;
} else {
_csvfile = value;
return this; **//why we using this here?**
}
};
this.hasHeaderRow = function(value) {
if (value === undefined) {
return _hasHeaderRow;
} else {
_hasHeaderRow = value;
return this; **//why we using this here?**
}
};
this.hasHeaderColumn = function(value) {
if (value === undefined) {
return _hasHeaderColumn;
} else {
_hasHeaderColumn = value;
return this; **//why we using this here?**
}
};
this.afterUpdate = function() {
//
}
});
我对这个getter和setter有疑问。为什么我们在这里用这个?我们能返回值的目的是什么?请大家解释清楚。我已经更新了整个代码。现在有什么建议吗?
这是一个"流畅接口"的例子。
这是什么?例如,如果您有一个foo
类的a对象,并且该类的每个方法都返回foo
实例,您可以编写
fooInst.do().some().thing()
顺便说一下,许多jQuery方法被实现为流畅的接口,所以这对JS开发人员来说是一个相当熟悉的概念。
在代码示例中,大多数方法只有在传递值时才返回实例。在这种情况下,该方法既可以用作setter,也可以用作getter。
这也类似于jQuery的一些方法,例如:
var foo = $('#elem').attr('class'); // returns element's class, CANNOT be chained
$('#elem').attr('class', 'foo'); // sets class + returns instance, CAN be chained
相关文章:
- 使用返回函数sinde.attr()jquery元素
- 从自执行函数返回函数的Javascript性能命中率
- Node Express Handlebars帮助程序未返回函数的结果
- 未在Firefox中执行PageMethod的返回函数
- 对返回函数的函数感到困惑
- 从承诺返回不返回函数会导致警告
- 从函数返回函数而不调用返回的函数
- Javascript,闭包中的返回函数如何与外部函数连接
- 为什么Coderbyte.com's的Javascript模板喜欢返回函数的原始参数
- 对象函数返回函数而不是值
- 从外部函数(数组)了解返回函数(x)
- 从Javascript类对象返回函数
- 调用Typescript setter don't返回函数,尽管关联的getter可以工作
- 使用依赖注入在 JavaScript 中返回函数
- 通过单击JSP和javascript加载两个返回函数
- 需要说明:无法理解返回函数的javascript
- 简单的onClick返回函数不起作用
- 为什么这个闭包返回函数
- JS函数返回函数供以后使用-未定义参数
- Coffeescription类中的方法返回函数而不是字符串