[英]why call flash function from javascript work but FileReference don't work in flash?
[英]I want to call javascript function from function, but it don't work
我收到这个错误
TypeError:无法读取未定义的属性“ sum”
如何固定?
function calculator(firstNumber) {
var result = firstNumber;
function sum() {
for (let i = 0; i <= arguments.lenght; i++) {
result += arguments[i];
}
return result;
}
function dif() {
for (let i = 0; i <= arguments.lenght; i++) {
result -= arguments[i];
}
return result;
}
}
var myCalculator = calculator(10);
console.log (myCalculator.sum(2, 3));
console.log (myCalculator.dif(1, 2, 5));
我需要得到:
15
2
您需要arguments
的length
属性,迭代< arguments.length
并返回带有两个想要的函数的对象。
当您将结果作为变量时,它将保留先前计算中的值。 结果在第一部分15
和后面的7
,而不是2
。
function calculator(firstNumber) { function sum() { for (let i = 0; i < arguments.length; i++) { result += arguments[i]; } return result; } function dif() { for (let i = 0; i < arguments.length; i++) { result -= arguments[i]; } return result; } var result = firstNumber; return { sum: sum, dif: dif }; } var myCalculator = calculator(10); console.log(myCalculator.sum(2, 3)); console.log(myCalculator.dif(1, 2, 5));
如果您希望始终使用firstNumber
获得结果,则可以使用firstNumber
初始化结果。
function calculator(firstNumber) { function sum() { var result = firstNumber; for (let i = 0; i < arguments.length; i++) { result += arguments[i]; } return result; } function dif() { var result = firstNumber; for (let i = 0; i < arguments.length; i++) { result -= arguments[i]; } return result; } return { sum: sum, dif: dif }; } var myCalculator = calculator(10); console.log(myCalculator.sum(2, 3)); console.log(myCalculator.dif(1, 2, 5));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.