Given an external javascript file with autoexec function syntax:
// external-script.js
(function() {
  console.log('external script called');
}());
With the following <script> tag, the external script doesn't execute:
<body>
  // ...
  <script src="external-script.js" type="text/javascript" />
</body>
But if I add an empty <script> block, as shown below, then the external script executes automatically.
<body>
  // ...
  <script src="external-script.js" type="text/javascript" />
  <script>
    // empty
  </script>
</body>
Why does the addition of the empty <script> block trigger the autoexecute? 
,
– CtrlDot Jul 26 '14 at 21:02