案例,当"document.ready"阻碍时

OTA*_*TAR 0 javascript php jquery

我有php文件,在这个文件中我有这个代码:

    <script language="JavaScript" type="text/javascript" src="jquery.js"></script>
    <script language="JavaScript">
        $(document).ready( function () {
            var myvar = <?php   echo json_encode($myvar);   ?> ;
        });
    </script>
    <script language="JavaScript" type="text/javascript" src="costum.js">  </script>
Run Code Online (Sandbox Code Playgroud)

在costum.js文件中我有代码:

$(document).ready( function () {
    alert(myvar );
});
Run Code Online (Sandbox Code Playgroud)

这不起作用,错误consol返回"myvar未定义"

如果在php文件中我写这个(也就是说,没有"document.ready")

 <script language="JavaScript">
     var myvar = <?php   echo json_encode($myvar);   ?> ;
 </script>
Run Code Online (Sandbox Code Playgroud)

在costum.js文件中,代码alredy正在工作.请告诉我为什么会这样?

fca*_*ran 5

尝试

<script>
    var myvar;
    $(document).ready( function () {
        myvar = <?php   echo json_encode($myvar);   ?> ;
    });
</script>
Run Code Online (Sandbox Code Playgroud)

您的变量必须声明为全局(或者换句话说,在外部作用域中)才能从两个document.ready函数中查看.

由于侧面注释language属性不是必需的.甚至type没有必要(如果你使用的是html5doctype)