Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.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 读取函数外部的foreach变量值_Javascript_Json_Function - Fatal编程技术网

Javascript 读取函数外部的foreach变量值

Javascript 读取函数外部的foreach变量值,javascript,json,function,Javascript,Json,Function,我有两个函数,其中存储了许多变量。我还想读取函数外部的变量。所以我可以读取该值,并在该值上应用if条件。请帮忙 这里是函数 var dynamicFormObject = new dynamicObject(jsonDataModel); function dynamicObject(jsonData) { this.formId = jsonData[0].formName; console.log(this.formId); this.formType = jsonData[0

我有两个函数,其中存储了许多变量。我还想读取函数外部的变量。所以我可以读取该值,并在该值上应用if条件。请帮忙

这里是函数

var dynamicFormObject = new dynamicObject(jsonDataModel);

function dynamicObject(jsonData) {
  this.formId = jsonData[0].formName;
  console.log(this.formId);
  this.formType = jsonData[0].formType;
  this.formLayout = jsonData[0].formLayout;
  this.sectionCount = jsonData[0].sections.length;
  this.getSectionDetails = sectionDetails(jsonData[0].sections);
  this.formRows = getSetionFieldDetails(jsonData[0].sections);
  this.formFields = getContainedFields(jsonData[0].sections);
  this.getNoOfSections = function(jsonData) {
    return jsonData[0].sections.length;
  };
}


function sectionDetails(sectionData) {
  var sectionDetails = [];
  if (sectionData.length > 0) {
    sectionData.forEach(function(item) {
      sectionDetails.push({
        sectionId: item.sectionId,
        sectionName: item.sectionName,
        sectionLayout: item.sectionLayout
      });
    });

    return sectionDetails;
  } else {
    return "Error";
  }
}

sectionDetails(jsonDataModel);
console.log(sectionDetails[0].sectionLayout);

if($scope.entity[0].sections[0].sectionId === 1 && $scope.entity[0].sections[0].sectionLayout == "linear_layout_vertical"){
    if(dynamicFormObject.formLayout == "linear_layout_horizontal"){
        console.log("sadasd");
        var newdiv = document.createElement("div");
        console.log(newdiv);
        newdiv.setAttribute('horizontal', '');
        newdiv.setAttribute('layout', '');
        newdiv.className('col-md-12');
        document.body.appendChild(newdiv);

    }

无法从函数闭包外部访问从函数闭包内部声明的变量,但是,您可以在函数外部声明变量,并且只能在函数内部使用/更新它,并且使用/更新的结果将在函数外部可用

var x;

function setX(){
  x = 6;
}

setX();

console.log(x) // 6

当你显示太多数据时,没有人敢帮忙。至少我没有。请将您的数据减少到最低要求。同意,我拒绝阅读代码墙。然而,如果你准确地介绍了这个问题,答案如下。我已经缩短了代码的长度。告诉我如何在函数和foreach变量值之外获取此变量值,以及您试图获取哪些变量?第一个函数没有任何变量,它只是设置对象的属性。您可以使用
dynamicFormObject.propertyName
访问它们。第二个函数有一个变量
sectionDetails
,它将其返回给调用者,以便使用返回值。@Barmar我想在第二个函数中获取“sectionLayout”值。怎么做?