使用javascript中的方法
Using method in javascript
Supuse我有下一个在表的单元格中插入值的方法:
var objeto = {
row: function(rowId){
return {
cell: function(cellClass){
return {
set: function(val){
document.querySelector(rowId+' '+cellClass).innerHTML = val;
}
}
//Or just return the value
}
}
}
};
我知道要插入值,我需要使用:
objeto.row('#rowid').cell('.cellclass').set('hello');
但是如果我想使用获得单元格值
var data = objeto.row('#rowid').cell('.cellclass');
我需要用什么方法?
您可以使用以下结构:
var objeto2 = {
row: function(rowId){
return {
cell: function(cellClass){
return {
value: function(val){
if (val) {
document.querySelector(rowId + ' ' + cellClass).innerHTML = val;
} else {
return document.querySelector(rowId + ' ' + cellClass).innerHTML;
}
}
}
}
}
}
};
objeto.row('#rowid').cell('.cellclass').value('hello'); // set value
objeto.row('#rowid').cell('.cellclass').value(); // get value
问题是任何函数的返回类型都是固定的。这意味着,如果它返回object,那么该函数将始终返回object。你想做的是试图从多晶型代谢中受益,但这是不可能的。
var objeto = {
row: function(rowId){
return {
cell: function(cellClass,newValue){
this.set = function (newValue){
if(typeof newValue != "undefined"){
document.querySelector(rowId+' '+cellClass).innerHTML = val;
}
}
this.set(newValue);
return document.querySelector(rowId+' '+cellClass).innerHTML;
}
//Or just return the value
}
}
}
};
所以你可以使用
var currentValue=obgeto.row('#rowid').cell('.cellclass','hello');或
var currentValue=obgeto.row('#rowid').cell('.cellclass');
相关文章:
- object.仅冻结对象方法.JavaScript
- 快速方法 Javascript/Jquery/etc 检索表单中包含的所有 aspnet:textbox (input)
- 查看整个画布是否被涂成一种颜色的方法.Javascript + processing.js
- 从方法 JavaScript 访问对象变量
- pop()方法javascript没有给出完整的输出
- 如何格式化setInterval方法JavaScript的运行时间
- 正则表达式/替换方法Javascript
- 将vars传递给其他方法javascript
- 寻找一种简化if/else语句的方法.javascript
- focus()或select()方法javascript,在Chrome中性能缓慢
- 未捕获的类型错误:对象没有方法..Javascript
- 对象方法javascript中的方法/函数
- 构造函数中的私有方法(Javascript,坏主意?)
- 查看数组是否有数组的最简单方法?Javascript
- 扁平化数组元素(不是整个数组)的有效方法JavaScript
- 最常用的生成PDF报告的方法(JavaScript,node.js)
- 创建多维数组与地图方法:javascript
- 对象方法Javascript HTML DOM中的多个事件监听器
- 卡住了.adddeventlistener不能在属性内处理我的方法.Javascript
- 任何获取文档选择的x、y、w、h的方法(JavaScript)