案例,当“document.ready”阻碍时

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

  $(document).ready( function () { var myvar =  ; });    

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

 $(document).ready( function () { alert(myvar ); }); 

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

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

   var myvar =  ;  

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

试试吧

  

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

作为旁注language属性不是必需的。 甚至type也没有必要(如果你使用的是html5 doctype)

您的myvar位于就绪函数的本地范围内。 将var声明移到外部以使其成为全局变量并可供其他脚本使用。

但是,正如您刚刚分配给变量一样,无论如何都不需要等待DOMready。 只是用

  

顺便说一下, language属性已被弃用 。

函数内部的局部变量仅在函数范围内可见。

当您在全局范围内声明变量时,它就是全局变量。

您可以通过以下方式将其公开到全局范围

 $(document).ready( function () { var myvar = ; window['myvar'] = myvar; });