Loading ...
Sorry, an error occurred while loading the content.

Re: [jslint] possible erroneous warning due to multi-line layout (UNCLASSIFIED)

Expand Messages
  • spence.randall@ymail.com
    ... If the processTheForm function refers to itself (no idea based on the code supplied of course since they were empty), then you have to declare it first,
    Message 1 of 7 , May 12 11:44 AM
    • 0 Attachment
      > I do have one complaint/question. Why would you do this:
      >
      > var processTheForm;
      > processTheForm = function () {...
      >
      > Instead you could do this:
      > var processTheForm = function () {...
      >
      > These are identical to the interpreter. The only exception is if the function is an example of immediate invocation. Immediately invoked functions are the value and type they return instead of type object.
      >
      > Austin Cheney, CISSP
      > http://prettydiff.com/
      > Classification: UNCLASSIFIED
      >

      If the processTheForm function refers to itself (no idea based on the code supplied of course since they were empty), then you have to declare it first, otherwise you get a warning in JSLint 'processTheForm' has not been fully defined yet.

      -Randall
    • ossayu
      The following also works: (function () { ```` use strict ; ````var processTheForm; ````processTheForm = function () { ````````var resultObjHash, ````````````//
      Message 2 of 7 , May 13 7:57 AM
      • 0 Attachment
        The following also works:

        (function () {
        ````'use strict';
        ````var processTheForm;
        ````processTheForm = function () {
        ````````var resultObjHash,
        ````````````// functions
        ````````````createElemHandler,
        ````````````createResultObj;
        ````````createElemHandler = function () {
        ````````};
        ````````createResultObj = function () {
        ````````};
        ````````resultObjHash = {};
        ````};
        }());

        That said, why is there no warning if there is a second variable declared on the line with the var keyword, as in:

        The following also works:

        (function () {
        ````'use strict';
        ````var processTheForm;
        ````processTheForm = function () {
        ````````var resultObjHash, anotherVar,
        ````````````// functions
        ````````````createElemHandler, createResultObj;
        ````````createElemHandler = function () {
        ````````};
        ````````createResultObj = function () {
        ````````};
        ````````resultObjHash = {};
        ````};
        }());
      • Zhami
        ... Two reasons: 1) because I don t do the former... there were a number of names declared as variables. 2) I don t like to clutter the list of variable
        Message 3 of 7 , May 13 8:01 AM
        • 0 Attachment
          --- In jslint_com@yahoogroups.com, "Cheney, Edward A SSG RES USAR USARC" <austin.cheney@...> wrote:

          > I do have one complaint/question. Why would you do this:
          >
          > var processTheForm;
          > processTheForm = function () {...
          >
          > Instead you could do this:
          > var processTheForm = function () {...
          >

          Two reasons:

          1) because I don't do the former... there were a number of names declared as variables.

          2) I don't like to clutter the list of variable declarations with assignments. While the interpreter allows it, I prefer to keep very distinct variable name declarations, and assignment of values.
        • Zhami
          I have been having an off-list conversation with someone who has helped me understand that my original problem statement may be opaque. The essence is this:
          Message 4 of 7 , May 13 8:47 AM
          • 0 Attachment
            I have been having an off-list conversation with someone who has helped me understand that my original problem statement may be opaque. The essence is this:

            The following is okay:

            var a, b,
            c, d;


            The following generates a warning about the position of d:

            var a,
            c, d;
          Your message has been successfully submitted and would be delivered to recipients shortly.