1. 问题:
qml函数中的不同块中定义同名变量,报警:Name is declared more than once
举例:
function test(a){
if(a === "1"){
var re = 1;
console.log(re);
}else{
var re = 2;
console.log(re);
}
}
2. 原因:
- qml与C++不同。
- qml在函数中声明的变量在函数中的任何地方都是可见的,即使在嵌套块或语句条件中声明也是如此。重新声明变量没有效果。
参考:
Qt:QML:JavaScript 和QML 语法错误表