Я получаю много ошибок, таких как «Ожидается« использовать строгий »в столбце 4, а не в столбце 2». Что это значит? - PullRequest
0 голосов
/ 28 февраля 2020

Я предполагаю, так как он упоминает столбцы, что он основан на разнице в пробелах открытых и закрытых тегов. Как я могу это исправить, хотя? Кажется, что чем меньше я решаю, тем больше всплывающих окон. Я пытался переделать свой код с самого начала, и он работал, однако в моей функции change () просто отсутствовало предупреждение (... Popup), и у меня не было переменной tickbag. Я просто изумлен, что все может быть хорошо, а потом просто разбиться с минимальными добавлениями кода, которые «не должны» (согласно тому, что я знаю) иметь какое-либо влияние на программу в целом.

Вот мой код:

// Travel Calculator JavaScript
// don't forget to validate at https://jslint.com

/*jslint devel: true, browser: true */

// self-executing "global" anonymous function
// it's here to keep variable and function scope
// contained within our script
(function () {

  // use strict enforces more rules
  // rules make us better programmers
  "use strict";

  // === === === === === === === === === === === === ===
  // === === === ===   global variables  === === === ===
  // === === === ===      begin here     === === === ===
  // === === === === === === === === === === === === ===



  var mileage = 100;
  var mpg = 20;
  var ppg = 2.50;
  var payrate = 15;
  var travelers = 2;
  var ticketprice = 250;
  var baggage = 25;
  var vehicletotal = 0;
  var persontotal = 0;
  var airtotal = 0;
  var vehicleperson = 0;
  var output = 0;
  var hotel = 300;
  var tickbag = 0;


  // this is how ouputting the console log works. will miss up code
  // if not here
  console.log("-- travel-calculator.js starting --");

  console.log("-----------------------------\n\n\n");

  // === === === === === === === === === === === === ===
  // === === === ===   global functions  === === === ===
  // === === === ===      begin here     === === === ===
  // === === === === === === === === === === === === ===

  function byID(element) {
    return document.getElementById(element);
  }

  function calculate() {

    // grab the current column1 column and save it!
    mileage = Number(byID("mileage").value);
    mpg = Number(byID("mpg").value);
    ppg = Number(byID("ppg").value);
    travelers = Number(byID("travelers").value);
    payrate = Number(byID("payrate").value);
    ticketprice = Number(byID("ticketprice").value);
    baggage = Number(byID("baggage").value);
    hotel = Number(byID("hotel").value);

    vehicletotal = (mileage / mpg * ppg);
    persontotal = (travelers * (8 * payrate));
    tickbag = (ticketprice + baggage);
    airtotal = (ticketprice + baggage) * travelers;
    vehicleperson = vehicletotal + persontotal + hotel;

    output = "Vehicle Costs: $" + (vehicletotal).toFixed(2) + "\n";
    output += "Traveler Costs: $" + persontotal.toFixed(2) + "\n";
    output += "Air Cost per Person: $" + tickbag.toFixed(2) + "\n";
    output += "Total Cost by Car: $" + vehicleperson.toFixed(2) + "\n";
    output += "Total Cost by Plane: $" + airtotal.toFixed(2) + "\n";


    alert(output);
  }

  function change() {
    var image = byID("testing");
    var carPopup = ("It is cheaper to take a car!");
    var airPopup = ("It is cheaper to take a plane!");

    if (vehicleperson < airtotal) {
      image.src = "images/green_mini_cooper.jpg";
      alert(carPopup);
    } else {
      image.src = "images/airplane.jpg";
      alert(airPopup);
    }
  }

  console.log("-- updated by click --");

  console.log("----------------------\n\n\n");

  console.log("-- updated by \"calculate\" --");

  console.log("-------------------------\n\n\n");

  byID("calculate-button").addEventListener("click", calculate);
  byID("calculate-button").addEventListener("click", change);

}());

1 Ответ

1 голос
/ 28 февраля 2020

jslint хочет, чтобы ваши отступы были в наборах из 4 пробелов, а не в 2.

Если вы хотите продолжить отступ в 2 пробела, вы можете добавить white: true к комментарию jslint в верх вашего файла. Это будет игнорировать предупреждения о пробелах.

Изменить: /*jslint devel: true, browser: true */

на: /*jslint devel: true, browser: true, white: true */

Вы можете получить помощь на сайте jslint (см. Раздел о пробелах ): https://www.jslint.com/help.html

И проверьте свой код, если хотите: https://www.jslint.com/

...