Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.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 Angularjs方法调用_Javascript_Angularjs - Fatal编程技术网

Javascript Angularjs方法调用

Javascript Angularjs方法调用,javascript,angularjs,Javascript,Angularjs,我有很多计算,如下所示,但在每一个计算中,参数都是不同的。但方法是一样的。如何用AngularJS编写方法,以便在每次需要计算时使用该方法,而不是每次都编写代码 PS:var“name”也不同于每个计算 var entropy_less_than60 = -(w_less_than60_positive/w_less_than60)*Math.log2(w_less_than60_positive/w_less_than60) - ((w_les

我有很多计算,如下所示,但在每一个计算中,参数都是不同的。但方法是一样的。如何用AngularJS编写方法,以便在每次需要计算时使用该方法,而不是每次都编写代码

PS:var“name”也不同于每个计算

var entropy_less_than60 = -(w_less_than60_positive/w_less_than60)*Math.log2(w_less_than60_positive/w_less_than60) 
                        - ((w_less_than60 - w_less_than60_positive)/w_less_than60)*Math.log2((w_less_than60-w_less_than60_positive)/w_less_than60);

创建关联数组对象并将其传递给函数

var obj = { 
   w_less_than60_positive : '', 
   w_less_than60: 59,
   ....
}
通过view或其他方法设置其中的文字,您可以在此处传递此obj:

function Calculate(obj){
    obj.entropy_less_than60 = -(obj.w_less_than60_positive/obj.w_less_than60)*
    Math.log2(obj.w_less_than60_positive/w_less_than60)
    - ((obj.w_less_than60 - obj.w_less_than60_positive)/obj.w_less_than60)*Math.log2((obj.w_less_than60-obj.w_less_than60_positive)/obj.w_less_than60);
}
请参阅console上的最终值:

Console.log(obj.entropy_less_than60)

不确定为什么这个问题被标记为angularjs,因为这似乎是一个一般的编程问题(如何编写可重用代码)。还有,你试过什么?我写了一个方法并调用了它。它说它是未定义的。“我写了一个方法并调用了它。它说它是未定义的。”。然后显示不起作用的完整代码。这不是一个代码编写服务。这里的想法是帮助您修复代码