SitePoint Sponsor

User Tag List

Results 1 to 25 of 40

Hybrid View

  1. #1
    SitePoint Zealot
    Join Date
    Feb 2011
    Posts
    108
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Beginning JS Basics questions

    Which is best practice or format? Does the script have to be all on one line or can it be on many separate lines like this?

    Code:
    document.write("Today's date is " 
    return+  (RightNow.getMonth()+1)+ 
    return"-" + RightNow.getDate() + "-" 
    return+ RightNow.getFullYear() + ".  
    returnYou entered this Web Page at exactly: " 
    return+ RightNow.getHours() +
    return":" + RightNow.getMinutes()  + " and " 
    return+ RightNow.getSeconds() +
    return" seconds")

  2. #2
    SitePoint Member
    Join Date
    Mar 2011
    Posts
    15
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    i would say multiple lines are better as its more readable instead of all in single lines.

  3. #3
    Unobtrusively zen silver trophybronze trophy
    paul_wilkins's Avatar
    Join Date
    Jan 2007
    Location
    Christchurch, New Zealand
    Posts
    14,705
    Mentioned
    101 Post(s)
    Tagged
    4 Thread(s)
    Quote Originally Posted by mikehende View Post
    Which is best practice or format? Does the script have to be all on one line or can it be on many separate lines like this?
    It can be on separate lines, but it looks like you're doing something wrong with those return parts.
    Programming Group Advisor
    Reference: JavaScript, Quirksmode Validate: HTML Validation, JSLint
    Car is to Carpet as Java is to JavaScript

  4. #4
    SitePoint Zealot
    Join Date
    Feb 2011
    Posts
    108
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks, on another issue, concerning the document.write object and method, when using it, if you wish to use it to write "multiple" lines of text at different times in one script, do you use it only once or do have to use it each time you need to write the text?

  5. #5
    Unobtrusively zen silver trophybronze trophy
    paul_wilkins's Avatar
    Join Date
    Jan 2007
    Location
    Christchurch, New Zealand
    Posts
    14,705
    Mentioned
    101 Post(s)
    Tagged
    4 Thread(s)
    Quote Originally Posted by mikehende View Post
    Thanks, on another issue, concerning the document.write object and method, when using it, if you wish to use it to write "multiple" lines of text at different times in one script, do you use it only once or do have to use it each time you need to write the text?
    It's normally advised to stay away from document.write as there are almost always safer techniques to use.

    Having said that though, it's more efficient to add the content you want to output to a variable, and to then output that at the end of things.

    Code javascript:
    var html = '';
    ...
    html += '<p>Some text</p>';
    ...
    html += '<p>Some more text</p>';
    ...
    document.write(html);
    Programming Group Advisor
    Reference: JavaScript, Quirksmode Validate: HTML Validation, JSLint
    Car is to Carpet as Java is to JavaScript

  6. #6
    SitePoint Zealot
    Join Date
    Feb 2011
    Posts
    108
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I am studying JS from an outdated source:

    JavaScript Primers #3

    but that is the only source which I am understanding so I have to deal with things a little differently when it comes to modern day JS just so you understand what I am dealing with, I haven't gotten to var yet, I am following the course as structured. So, would it be possible for you to break down any further what what you have written please?

    If so, my questions, using your example would be:

    1] To begin using the write method, should I use this var html = '';
    every time?

    2] What are the 3 dots for between each line?

    3] Should I always write this html += '<p>Some text</p>'; when referring to text?

    4] If you are saying I should stay away from the document.write then why use this document.write(html); at the end?

    late here now, will check back in the morning for any answers, thanks!

  7. #7
    Unobtrusively zen silver trophybronze trophy
    paul_wilkins's Avatar
    Join Date
    Jan 2007
    Location
    Christchurch, New Zealand
    Posts
    14,705
    Mentioned
    101 Post(s)
    Tagged
    4 Thread(s)
    Quote Originally Posted by mikehende View Post
    So, would it be possible for you to break down any further what what you have written please?
    Sure thing. I just had a look at your source, and it appears that the "return" parts from what you quoted, are actually the image that was used on the web page to indicate a new line.

    I won't get in to the pros/cons of document.write just yet. Instead, here's something about what you were asking, the formatting of a statement.

    The code from your sample page should instead be:

    Code javascript:
    write("Today's date is " +  
    (RightNow.getMonth()+1)+ 
    "-" + RightNow.getDate() + "-" 
    + RightNow.getFullYear() + ".
    You entered this Web Page at exactly: " 
    + RightNow.getHours() +
    ":" + RightNow.getMinutes()  + " and " 
    + RightNow.getSeconds() +
    " seconds");

    That could also be all on one line:

    Code javascript:
    document.write("Today's date is " + (RightNow.getMonth()+1)+ "-" + RightNow.getDate() + "-" + RightNow.getFullYear() + ". You entered this Web Page at exactly: " + RightNow.getHours() + ":" + RightNow.getMinutes()  + " and " + RightNow.getSeconds() + " seconds");

    Or it could be split up like this:

    Code javascript:
    document.write(
        "Today's date is " +
        (RightNow.getMonth() + 1) + "-" + 
        RightNow.getDate() + "-" +
        RightNow.getFullYear() +
        ". You entered this Web Page at exactly: " + 
        RightNow.getHours() + ":" + 
        RightNow.getMinutes()  + " and " + 
        RightNow.getSeconds() + " seconds"
    );

    Notice how it's easier to understand that last example? The main purpose of formatting is to reduce confusion when you and other people read your code. One of the best ways to reduce confusion, is to follow a style guide or code conventions for your code. These help to enforce good practices, so that confusion is reduced to a minimum.


    A better online learning resource that you may want to consider has been receiving high praise lately. You may want to check out Eloquent JavaScript instead.
    Programming Group Advisor
    Reference: JavaScript, Quirksmode Validate: HTML Validation, JSLint
    Car is to Carpet as Java is to JavaScript

  8. #8
    SitePoint Zealot
    Join Date
    Feb 2011
    Posts
    108
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by paul_wilkins View Post
    I just had a look at your source, and it appears that the "return" parts from what you quoted, are actually the image that was used on the web page to indicate a new line.
    Sorry, I don't understand, any other wya you can explain the purpose of "return"?

    Also, I looked at your link but that seems way too technical for me so I will stick with the one I am using for now but thanks anyway.

  9. #9
    SitePoint Addict
    Join Date
    Dec 2005
    Posts
    336
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    I think one problem was you didn't have the ending semi-colons on each line...

    PHP Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
    >
    <
    html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" >
        <
    head>
            <
    meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
            <
    title>FunKaDeLic</title>
            <
    link type="text/css" rel="stylesheet" href="funkadelic.css" />
            <
    script type="text/javascript" >
                function 
    openindex() {
                    var 
    name prompt("What is your name?","Write it here");

                    var 
    OpenWindow=window.open("""newwin""height=300,width=300");
                        
    OpenWindow.document.write("<HTML>");
                        
    OpenWindow.document.write("<TITLE>");
                        
    OpenWindow.document.write("Hello " +name" Here is your window!");
                        
    OpenWindow.document.write("</TITLE>");
                        
    OpenWindow.document.write("<BODY BGCOLOR=green>");

                        
    OpenWindow.document.write("<CENTER>");
                        
    OpenWindow.document.write("<font size=+1>New Window</font><P>");
                        
    OpenWindow.document.write("<a href='' onClick='self.close()'>This closes the window</a><p>");
                        
    OpenWindow.document.write("</CENTER>");
                        
    OpenWindow.document.write("</BODY>");
                        
    OpenWindow.document.write("</HTML>");
                }
            
    </script>
        </head>
        <body>

        <script type="text/javascript">
            window.onload = function() {
                openindex();
            };
        </script>
        </body>
    </html> 

  10. #10
    SitePoint Zealot
    Join Date
    Feb 2011
    Posts
    108
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks but why the need for this script in the body?

    Code:
    <script type="text/javascript">
    
            window.onload = function() {
    
                openindex();
    
            };
    
        </script>
    What I am seeing online does not have a script tag in the body, only the

    onLoad="openindex()"

    so what doesn't that work please?

  11. #11
    SitePoint Addict
    Join Date
    Dec 2005
    Posts
    336
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    I am pretty sure you mean it to read as:
    PHP Code:
    <body onload="openindex();"></body
    The way I presented allowed the Javascript to be trigged after the rest of the HTML was already loaded, hence "onload"

  12. #12
    SitePoint Zealot
    Join Date
    Feb 2011
    Posts
    108
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I think I was missing a key issue, when I was told to place the function "between the Body tags" , I was thinking like this:

    Code:
    <body>
    
    function goes here
    
    </body>
    but what I am seeing now is the code needs to go inside the <body> tag like this:

    Code:
    <body ..function goes here>
    
    </body>
    Is that correct?

  13. #13
    Unobtrusively zen silver trophybronze trophy
    paul_wilkins's Avatar
    Join Date
    Jan 2007
    Location
    Christchurch, New Zealand
    Posts
    14,705
    Mentioned
    101 Post(s)
    Tagged
    4 Thread(s)
    If you're testing this in Internet Explorer, have you allowed local scripting?
    Programming Group Advisor
    Reference: JavaScript, Quirksmode Validate: HTML Validation, JSLint
    Car is to Carpet as Java is to JavaScript

  14. #14
    SitePoint Zealot
    Join Date
    Feb 2011
    Posts
    108
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I was testing in FF Beta 4.0, I just checked with IE, it works, thanks, will look for the setting in FF to allow scripting, the menu is totally different,

  15. #15
    SitePoint Zealot
    Join Date
    Feb 2011
    Posts
    108
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Far as I am seeing here Javascript is enabled, see attachment, any idea why I am having this problem please?
    Attached Images Attached Images

  16. #16
    Unobtrusively zen silver trophybronze trophy
    paul_wilkins's Avatar
    Join Date
    Jan 2007
    Location
    Christchurch, New Zealand
    Posts
    14,705
    Mentioned
    101 Post(s)
    Tagged
    4 Thread(s)
    You're using Firefox, right.

    Does the error console give you any info?
    Programming Group Advisor
    Reference: JavaScript, Quirksmode Validate: HTML Validation, JSLint
    Car is to Carpet as Java is to JavaScript

  17. #17
    SitePoint Zealot
    Join Date
    Feb 2011
    Posts
    108
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Sorry Paul, never heard of the "error console" before? Have to sign off now, been a very long day dealing with viruses from 2 pc's here and trying to study JS at the same time, will check back in the morning, thanks..

  18. #18
    Unobtrusively zen silver trophybronze trophy
    paul_wilkins's Avatar
    Join Date
    Jan 2007
    Location
    Christchurch, New Zealand
    Posts
    14,705
    Mentioned
    101 Post(s)
    Tagged
    4 Thread(s)
    Quote Originally Posted by mikehende View Post
    Sorry Paul, never heard of the "error console" before? Have to sign off now, been a very long day dealing with viruses from 2 pc's here and trying to study JS at the same time, will check back in the morning, thanks..
    Here the menu reference for Firefox 4 so that you can get more info on it.
    Menu Reference | How to | Firefox Help
    Programming Group Advisor
    Reference: JavaScript, Quirksmode Validate: HTML Validation, JSLint
    Car is to Carpet as Java is to JavaScript


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •