函数与JS FAIL中的参数[重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数与JS FAIL中的参数[重复]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我正在尝试为我的JS函数添加参数,以便在我的QML表单中使用它,但它不起作用。
这里工作代码:
function sum()
{
var res = 0;
var res1 = 0;
var result = 0;
for(var i = 0; i < listModel.count; i++){
res += parseFloat(listModel.get(i).trip_time);
}
for(var i1 = 0; i1 < listView.currentRow; i1++){
res1 += parseFloat(listModel.get(i1).trip_time);
}
result = res-res1;
return result;
}
但当我尝试用这样的参数替换“trip_time”时:
function sum(column)
{
var res = 0;
var res1 = 0;
var result = 0;
for(var i = 0; i < listModel.count; i++){
res += parseFloat(listModel.get(i).column);
}
for(var i1 = 0; i1 < listView.currentRow; i1++){
res1 += parseFloat(listModel.get(i1).column);
}
result = res-res1;
return result;
}
并使用以下命令在我的qml中调用该函数:
JS.sum(trip_time)
我收到错误:
ReferenceError:未定义trip_time
我用了很多次这个方法来添加如下所示的参数:
function hourtodec(hour)
{
var res = hour.split(":")
var hours = parseInt(res[0]);
var minutes = parseInt(res[1]);
var dec = hours+ minutes/60;
return dec;
}
我以前从未遇到过这个问题......
请问你能帮帮我吗?
非常感谢你
答案
你没有以一种好的方式使用关键对象column
:listModel.get(i).column
应该是listModel.get(i)[column]
,你的参数应该是一个字符串:“trip_time”
function sum(column)
{
var res = 0;
var res1 = 0;
var result = 0;
for(var i = 0; i < listModel.count; i++){
res += parseFloat(listModel.get(i)[column]);
}
for(var i1 = 0; i1 < listView.currentRow; i1++){
res1 += parseFloat(listModel.get(i1)[column]);
}
result = res-res1;
return result;
}
以上是关于函数与JS FAIL中的参数[重复]的主要内容,如果未能解决你的问题,请参考以下文章