Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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 无法从angular.forEach函数获取值,flagvalue无法获取,为什么?_Javascript_Angularjs_Foreach - Fatal编程技术网

Javascript 无法从angular.forEach函数获取值,flagvalue无法获取,为什么?

Javascript 无法从angular.forEach函数获取值,flagvalue无法获取,为什么?,javascript,angularjs,foreach,Javascript,Angularjs,Foreach,这是我的控制器js,这里我无法从angular.forEach函数中获取值,flagvalue无法获取,为什么??当foreach函数结束时,flagvalue的作用域是end??是这样吗 var foreach = angular.module('foreach',[]); foreach.controller ('carcontroller', function($scope){ alert("inn"); $scope.carname = [{name:'polo'},

这是我的控制器js,这里我无法从angular.forEach函数中获取值,flagvalue无法获取,为什么??当foreach函数结束时,flagvalue的作用域是end??是这样吗

var foreach = angular.module('foreach',[]);
  foreach.controller ('carcontroller', function($scope){
    alert("inn");
    $scope.carname = [{name:'polo'},{name:'BMW'},{name:'Audi'},{name:'Suzuki'}];
    var array = $scope.carname;
    $scope.addcar = function(){
      alert(" innn");
      var currentcarname = $scope.carname;
      alert(currentmoviename);
      angular.forEach($scope.carname,function(refer){   
        alert("in foreach loop");
        var flagvalue;
        alert(flagvalue);
        if(currentcarname.toLowerCase() == refer.name.toLowerCase()){
          alert("in foreach loop - if");
          flagvalue = true;
          return true;
        }
        alert(flagvalue);
        return true;
      });

      if(!flagvalue) {
        alert("in if again");   
      }
    };
  });

在forEach循环外部定义标志

 var  flagvalue;  
 angular.forEach($scope.carname, function(    refer    )
  {  
      if(currentcarname.toLowerCase() == refer.name.toLowerCase())
         {
           flagvalue    =   true;
            return    true;
         }
       return    true;

});

变量flagvalue的作用域是angular.forEach调用中的函数。。这应该有助于@doog遵守是的…thanx人:thanx Divya:它现在正在工作…你能解释一下,它将帮助我弄清楚概念…它与var的范围有关吗???@sumitpethkar这纯粹是一个java脚本概念,当该变量位于foreach函数内部时,它是该函数的局部变量,在函数外部不可用。这是非常基本的问题。请查看上述注释中的链接。