我无法运行我的功能。 console.log将不会记录

时间:2018-09-10 20:55:36

标签: javascript

我有一个脚本,但是我不知道为什么它不能正确执行。 我已经声明了所有变量,直到提示它可以正常工作,但我看不到为什么它不记录函数的结果。

var leasePriceString = prompt("Input lease price per month"); 
var ecoScoreString = prompt("Input eco score");
var catalogValueString = prompt("Input catalog value");
var c02String = prompt("Input C02");        

var leasePrice = parseInt(leasePriceString); 
var ecoScore = parseInt(ecoScoreString);
var catalogValue = parseInt(catalogValueString);
var c02 = parseInt(c02String);        

var brutoMonth = true;
var VAA = true;        

function calculator(){
	function brutoMonthCalc(){
		if (ecoScore >= 74){
			brutoMonth = ((leasePrice*12)/13.92)-75;
			console.log(brutoMonth);
		} else {
			brutoMonth = ((leasePrice*12)/13.92)-150;
			console.log(brutoMonth);
		}
	}
	function VAACalc(){
		VAA =  6/7*catalogValue*(0.055+((c02-105)*0.001));
		console.log(VAA);
	}
	brutoMonthCalc();
	VAACalc();
	console.log("price per month is =" + brutoMonth + VAA);
};        

calculator();

我忘了让它在某个地方运行吗?

1 个答案:

答案 0 :(得分:1)

我已经修改了您代码的某些方面,并在下面提供了说明:

    var leasePriceString = prompt("Input lease price per month");
    var ecoScoreString = prompt("Input eco score");
    var catalogValueString = prompt("Input catalog value");
    var c02String = prompt("Input C02");
    
    var leasePrice = parseInt(leasePriceString);
    var ecoScore = parseInt(ecoScoreString);
    var catalogValue = parseInt(catalogValueString);
    var c02 = parseInt(c02String);
    
    // Declare global variables here
    var brutoMonth;
    var VAA;

    function calculator(){
        function brutoMonthCalc() {
          if (ecoScore >= 74) {
            brutoMonth = ((leasePrice * 12) / 13.92) - 75;
            console.log(brutoMonth);
          }else{
            brutoMonth = ((leasePrice * 12) / 13.92) - 150;
            console.log(brutoMonth);
          }
       }
    
       function VAACalc() {
         VAA = 6 / 7 * catalogValue * (0.055 + ((c02 - 105) * 0.001));
         console.log(VAA);
       }
     
       // Call functions here
       brutoMonthCalc();
       VAACalc();
  
    }
     
    calculator();  
    console.log("price per month is =" + brutoMonth + VAA);

在上面的代码中,我主要更改了两件事:-

  1. 声明全局变量:您只想声明一次变量,然后将其分配给要运行以更改其值的函数。

  2. 调用函数:编写函数后,需要稍后调用。只有当您调用它时,函数中的表达式才会运行。