Javascript 读取函数外部的foreach变量值
我有两个函数,其中存储了许多变量。我还想读取函数外部的变量。所以我可以读取该值,并在该值上应用if条件。请帮忙 这里是函数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
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”值。怎么做?