3

What is the difference between these two functions?

1:

$(document).ready(function myfunc() {
   function dosomething() {
      // do something
   }
});

2:

<script language="javascript">
function dosomething() {
   // do something
}
</script>
Bill the Lizard
  • 398,270
  • 210
  • 566
  • 880

2 Answers2

9

The $(document).ready() function executes when the DOM has finished loading. See http://api.jquery.com/ready/

Whereas the function is not executed until called. If you were to have a call to that function, it would happen as it is loading and not wait for any external event to complete as in the former. Like:

<script language="javascript">
dosomething();
function dosomething(){
// do something
}
</script>
Dustin Laine
  • 37,935
  • 10
  • 86
  • 125
5

In the first example, your inner function dosomething() will be limited to the scope of myfunc().

In the second case, the dosomething() function will be added to the global space. It will be accessible from anywhere.

Daniel Vassallo
  • 337,827
  • 72
  • 505
  • 443