Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Js变量定义_Javascript_Qt - Fatal编程技术网

Javascript Js变量定义

Javascript Js变量定义,javascript,qt,Javascript,Qt,我在QtCreator 3.4.1中有一个QML,它每秒更新一个JS函数的值。每次函数运行然后终止时。现在谈谈问题: 第一次运行函数时,我想定义一个变量。该值随后由函数更改,并应在下一次代码运行时使用。我只能在每次代码再次运行时重新定义变量 一个简单的例子是: function func() { var input = 10 input-- return input //input is now 9 } 下次代码运行时,它将使用新的输入值9,而不是10。如何定义它?尝试一个全局变量

我在QtCreator 3.4.1中有一个QML,它每秒更新一个JS函数的值。每次函数运行然后终止时。现在谈谈问题:

第一次运行函数时,我想定义一个变量。该值随后由函数更改,并应在下一次代码运行时使用。我只能在每次代码再次运行时重新定义变量

一个简单的例子是:

function func() {
  var input = 10

  input--

return input //input is now 9
}

下次代码运行时,它将使用新的输入值9,而不是10。如何定义它?

尝试一个全局变量-当页面关闭时,它将被删除

var input = 10;

function func() {
  input--;

  return input;
}

尝试一个全局变量-该变量在页面关闭时被删除

var input = 10;

function func() {
  input--;

  return input;
}

您需要在函数外声明变量。函数内部声明的变量仅在函数运行时才被记住(闭包是一个例外)

如果希望在首次运行函数之前取消声明变量,可以执行以下操作:

var input;

function func() {
  if (input === undefined) {
    input = 10;
  }

  input--

return input //input is now 9
}

您需要在函数外声明变量。函数内部声明的变量仅在函数运行时才被记住(闭包是一个例外)

如果希望在首次运行函数之前取消声明变量,可以执行以下操作:

var input;

function func() {
  if (input === undefined) {
    input = 10;
  }

  input--

return input //input is now 9
}
在重新声明每次运行的输入=10之前。输入-1=9。你需要像上面那样做…或者

function(i){
if(i.isNaN()){ i = 10; }

return i--;
}
在重新声明每次运行的输入=10之前。输入-1=9。你需要像上面那样做…或者

function(i){
if(i.isNaN()){ i = 10; }

return i--;
}

在函数中定义变量时,该变量将在函数完成执行后立即消失。如果希望在每次相同的函数调用中定义并使用变量,则需要在函数定义之上至少定义一个级别的变量

您可以定义一个函数,该函数返回符合您需求的函数。比如说,

var foo = (function(){
    var bar;
    return function() {
        if(bar === undefined){
            bar = 10; // First function call, define bar
        } else {
            bar--; // Every consecutive call, do something with bar
        }
    }
})();

第一次执行foo()时,bar将设置为10。每次连续调用都会将bar递减1。

当您在函数中定义变量时,该变量将在函数完成执行后立即消失。如果希望在每次相同的函数调用中定义并使用变量,则需要在函数定义之上至少定义一个级别的变量

您可以定义一个函数,该函数返回符合您需求的函数。比如说,

var foo = (function(){
    var bar;
    return function() {
        if(bar === undefined){
            bar = 10; // First function call, define bar
        } else {
            bar--; // Every consecutive call, do something with bar
        }
    }
})();
第一次执行foo()时,bar将设置为10。每一次连续调用都会将bar递减1