包含javascript文件可以访问父文档中的全局变量吗?

时间:2009-08-24 13:14:29

标签: javascript scope

想象一下这样的代码:

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
     "http://www.w3.org/TR/html4/loose.dtd">
  <HTML>
  <HEAD>
  <TITLE>BLAH</TITLE>
  <script language='Javascript' type='text/javascript'>
  var ScriptVersionReqd='1.0';
  </script>

  <script language='JavaScript' type='text/javascript' src='clientscript.js'></script>
  etc. etc.

clientscript.js是否可以访问变量“ScriptVersionReqd”?如果没有,为什么不呢?

3 个答案:

答案 0 :(得分:8)

是。

只要全局变量在被外部脚本调用之前已被置于全局范围内。

编辑以回复评论:有关javascript变量范围的详细说明,请参阅here

答案 1 :(得分:2)

是。您可以在Google Adsense等内容中查看相关示例。使用Adsense,首先要定义宽度,颜色等。然后包括查找这些变量的脚本,并根据这些值确定输出。

<script type="text/javascript"><!--
  google_ad_client = "pub-42235573";
  google_ad_slot = "0774868545";
  google_ad_width = 728;
  google_ad_height = 90;
  //-->
</script>
<script type="text/javascript" 
        src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

答案 2 :(得分:1)

是的,无论脚本是从文件中包含还是内联在脚本标记中,范围都没有区别。