JavaScript。Web浏览器错误:";ReferenceError:未定义函数";

JavaScript。Web浏览器错误:";ReferenceError:未定义函数";,javascript,function,undefined,Javascript,Function,Undefined,JavaScript。Web浏览器错误:“ReferenceError:未定义函数”。 我总是称这个JavaScript文件为。它永远不起作用。“ReferenceError:CMenu未定义”错误始终显示在web浏览器的调试器中。为什么?我怎样才能解决它?当我开始在Splunk仪表板的web浏览器中加载时,我调用javascript。 脚本在第680行调用函数。我不知道为什么会出错。该函数在同一个JavaScript文件的更高层定义。非常感谢你。我需要帮助 //循环菜单 (功能(全球、工厂)

JavaScript。Web浏览器错误:“ReferenceError:未定义函数”。 我总是称这个JavaScript文件为。它永远不起作用。“ReferenceError:CMenu未定义”错误始终显示在web浏览器的调试器中。为什么?我怎样才能解决它?当我开始在Splunk仪表板的web浏览器中加载时,我调用javascript。 脚本在第680行调用函数。我不知道为什么会出错。该函数在同一个JavaScript文件的更高层定义。非常感谢你。我需要帮助

//循环菜单
(功能(全球、工厂){
typeof exports==='object'&&typeof module!=='undefined'?module.exports=factory():
typeof define==“函数”&&define.amd?定义(工厂):
(global.CMenu=factory());
}(这是函数(){use strict';
函数旋转dEG(i){
返回this.startDeg+this.rotateUnit*i;
}
职能轮换表$1(i){
return-(this.rotateDeg(i)+this.unskewDeg);
}
函数startDeg(配置){
var top=-(config.totalAngle-180)/2,
职位={
顶:顶,,
top1:top+40,
top2:top+80,
top3:top+120,
top4:top+160,
top5:top+200,
top6:top+240,
top7:top+280,
top8:top+320,
左:前90名,
右:顶部+90,
底部:顶部+180
};
return config.start!==未定义?config.start:positions[config.position];
}
常数抗锯齿=3;
函数覆盖半径(半径,百分比){
var平方=半径*半径*2;
返回Math.sqrt(平方)*百分比+抗锯齿;
}
功能覆盖尺寸(覆盖半径){
var l=覆盖半径*2;
var m=-l/2;
l+=“px”;
m+=“px”;
返回{
宽度:l,
身高:l,
marginLeft:m,
玛金托普:m
};
}
函数菜单化(配置){
var l=配置直径;
var m=-config.diameter/2;
l+=“px”;
m+=“px”;
返回{
宽度:l,
身高:l,
marginLeft:m,
玛金托普:m
};
}
常数fixedTop=10;
功能单击区域化(配置){
var l=配置直径;
var m=-config.diameter/2;
l+=“px”;
m+=“px”;
返回{
宽度:l,
身高:l,
玛金莱特:m,
marginBottom:m
};
}
函数列表大小(配置){
变量l=(config.diameter/2)+“px”;
返回{
宽度:l,
身高:l
};
}
常数比率=0.41;
功能文本顶部(单击区域半径){
返回clickZoneRadius*middleRatio-fixedTop+'px';
}
函数计算(配置){
这个。_config=config;
var c=this.config=config,
itemsNum=c.menus.length,
spaceNumber=c.totalAngle==360?itemsNum:itemsNum-1;
this.radius=config.diameter/2;
this.coverRadius=coverRadius(this.radius,配置百分比);
this.clickZoneRadius=this.radius-this.coverRadius;
this.listSize=listSize(配置);
this.clickZoneSize=clickZoneSize(配置);
this.menuSize=menuSize(配置);
this.coverSize=coverSize(this.coverRadius);
this.startDeg=startDeg(配置);
this.centralDeg=(c.totalAngle-(c.spaceDeg*spaceNumber))/itemsum;
this.rotateUnit=this.centralDeg+c.spaceDeg;
this.skewDeg=90-this.centralDeg;
this.unskewDeg=-(90-this.centralDeg/2);
this.textTop=textTop(this.clickZoneRadius);
}
计算。原型={
建造师:计算,
rotateDeg:rotateDeg,
水平角度:旋转角度$1
};
函数createList(父级){
这个.u config.menus.forEach(函数(v,k){
这个._createList(父,v,k);
},这个);
}
函数defaultView(节点){
return(node.ownerDocument&&node.ownerDocument.defaultView)//节点是一个节点
||(node.document&&node)//节点是一个窗口
||node.defaultView;//节点是一个文档
}
函数styleRemove(名称){
this.style.removeProperty(名称);
}
函数styleConstant(名称、值、优先级){
this.style.setProperty(名称、值、优先级);
}
函数样式函数(名称、值、优先级){
var v=value.apply(这是参数);
如果(v==null)this.style.removeProperty(name);
否则该.style.setProperty(名称、v、优先级);
}
函数样式(元素、名称、值、优先级){
var节点;
返回参数。长度>1
?((值==null)
?styleRemove:typeof值==“函数”
?样式功能
:styleConstant).调用(ele,name,value,priority==null?“:priority))
:defaultView(节点=ele)
.getComputedStyle(节点,null)
.getPropertyValue(名称);
}
函数createList(父级、数据、索引){
var list=document.createElement('li');
样式(列表“宽度”,此._计算listSize.width);
样式(列表“高度”,此._计算listSize.height);
样式(列表,'变换','旋转('+this.'计算旋转梯度(索引)+'deg)倾斜('+this.'计算倾斜度+'deg)');
父.子(列表);
这个._createAnchor(列表、数据、索引);
}
函数类数组(字符串){
返回字符串.trim().split(/^ |\s+/);
}
函数类列表(节点){
返回node.classList | |新类列表(node);
}
函数类列表(节点){
这个。_node=node;
这是._names=classArray(node.getAttribute(“class”)| |“”);
}
ClassList.prototype={
添加:函数(名称){