在switch语句的情况下,将if语句中的值存储在变量中
Store value in variable from an if statement within a switch statement case
我想让一个变量在每一个switch语句的情况下跟踪if
语句的结果。问题是每次我用变量的初始值- 0,而不是前一个例子给出的值,所以我总是得到myNum = 1
。我想知道解决这个问题的一般方法是什么。
我还尝试了一个数组var myArray = [false,false,false,false];
,其中情况1改变了myArray[0] = true
,当if
语句在情况2返回true
时,它改变了myArray[1] = true
,但是整个数组现在是[false,true,false,false]
,即从情况1的变化没有保存在变量中,而是使用初始变量值。
如果我在switch语句之外将值记录到控制台,这两种情况是相同的。
$scope.clickItem = function(result){
var myNum = 0;
function addNum() {
myNum++;
};
switch(currentString) {
case string1:
if($scope.img1 === result){
addNum();
console.log('myNum is ' + myNum); // <- It's 1
$scope.currentString = $scope.val2;
}
else{
console.log("Wrong..");
}
break;
case $scope.val2:
if($scope.img2 === result){
addNum();
console.log('myNum is ' + myNum); // <- It's 1 again, when it should be 2.
$scope.currentString = $scope.val3;
}
else{
console.log("Wrong..");
}
break;
case $scope.val3:
if($scope.img3 === result){
addNum();
$scope.currentString = $scope.val4;
}
else{
console.log("Wrong..");
}
break;
}
...etc
每次调用clickItem
函数时,将myNum
变量设置为0。1.
你应该做的是在你的$scope
中设置一个全局变量:
$scope.myNum = 0;
$scope.clickItem = function(result){
function addNum() {
$scope.myNum++;
};
...
};
不要忘记更改记录结果的方式:
console.log("myNum is" + $scope.myNum);
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 将作用域存储在JSON中
- 使用javascript存储变量的最安全方式
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 自动修复”;语句前缺少分号“;
- 如何有效地将游戏数据存储在URL查询字符串中
- Ember.js-接口状态应该存储在哪里
- 如何解雇“;铁局部存储负载”;事件
- for 循环和 if 语句,获取变量并存储它
- 我把sql语句存储在数据库中的地方,用于blueimp / jQuery-File-Upload
- 提供具有多个参数的存储语句的最佳方法
- 正在尝试准备要存储在数据库中的语句
- ExtJs:等待直到存储加载,然后执行next语句
- 在switch语句的情况下,将if语句中的值存储在变量中
- Jquery中的LocalStorage,复选框语句存储
- 如何将单击的URL存储为变量,以便在if语句中使用
- If语句没有识别存储在变量中的条件
- 若忽略语句,则映射API存储数据函数