单个“$(document).ready()”中的多个 "Scripts Calls"

Multiple "Scripts Calls" within a SINGLE "$(document).ready()"

我必须将我所有的 "scripts calls" 都放在一个 "$(document).ready()" 中。我为什么这样做:

<head>
...
</head>

<body>
...

   <script src="http://....jquery call"></script>

   <script>

      $(document).ready(function(){

         <?php include('script_01.js'); ?>
         <?php include('folder/script_02.js'); ?>
         <?php include('../../folder/script_03.js'); ?>

      });

   </script>

</body>

这在所有浏览器中都能完美运行,但是: 我有权这样做吗? 它兼容 W3C 吗?谢谢。妮可.

它应该可以工作,您有权这样做,它们是您的脚本 ;)

但这不是最优的,最好的方法是在一个自执行函数中收集所有文件的内容,然后最小化该代码并为用户提供单个文件。

像这样:

(function(){
  // contents of all javascript files
})();

比 运行 通过像 UglifyJS 这样的最小化器,也许通过像 this.

这样的东西

好消息是您所有的全局变量都不在 window 范围内。所以假设你有一个变量 page,没有自执行函数,你可以从控制台访问它,改变它等等。但是如果你将它包装在一个自执行函数中,范围从 window self exc 的 'private' 范围。功能。这样用户就无法更改您的脚本(可能)使用的变量。