Jan 2012 05

When writing functions in Javascript that you only need to run as soon as it’s created and not have to reference again, you can create a self-executing anonymous function using the syntax:

(function(){
        // your code goes here
})();

In jQuery, you can have your anonymous function called after the document is ready as in

$(document).ready(function() {
        (function(){
             //your code for the module
        })();
});

If you’re not using jQuery and want your anonymous function to be called after the page loads (as opposed to immediately before the page finishes loading), you can do

(function(){
    // your code goes here

    // add event listener to trigger function call on page load
    if (window.attachEvent) {
        window.attachEvent('onload', addHiddenFields);
    } else {
        window.addEventListener("load", addHiddenFields, false);
    }
})();

Another benefit is it doesn’t pollute the global namespace by not overriding other functions. To learn more, visit http://briancrescimanno.com/2009/09/24/how-self-executing-anonymous-functions-work/  and http://stackoverflow.com/questions/8248974/executing-jquery-functions-on-dom-ready-from-inside-a-module

Share
Jan 2012 09

Seeing clean, structured code is always nice.  Here are some tips to automate cleaning up messy code.

1. Use HTML Tidy to clean up code
There are some online code cleaners based on Tidy that can do this for you like at http://infohound.net/tidy/

2. Dreamweaver “Apply Source Formatting”
Dreamweaver can format your source code based on a format profile. Find it under Commands -> Apply Source Formatting. This will also trim unnecessary whitespace and the beginning and end of lines.

3. Trim unnecessary whitespace at beginning of line
REGEX: ^\s+
REPLACE: empty string

 4. Trim unnecessary whitespace at end of line
REGEX: ^\s$
REPLACE: empty string

5. Convert spaces to tabs
In Dreamweaver, select / highlight all the code, right click, select “Convert spaces to tabs”

6. Delete empty lines
REGEX: [\r\n]{2,}
REPLACE: \n

Share
Jan 2012 12
<?php
if ($a == $b)
    echo "ab";
?>

<?php if ($a == $b) { ?>
    echo "ab";
<?php } else { ?>
    echo "c";
<?php } ?>

<?php
echo <<<EOL  // <- We use the heredoc operator. Notice 3 times '<'
    <div id="menu_show" class="...">
      ...
    </div>
EOL
;  // End the heredoc block. Has to be the first characters on the line, so don't indent it.
?>
Share