WEB开发网
开发学院网页设计JavaScript IE浏览器中一个值得关注的JS问题 阅读

IE浏览器中一个值得关注的JS问题

 2010-09-14 13:04:15 来源:WEB开发网   
核心提示:刚才在调试js,在mozilla中一切正常,IE浏览器中一个值得关注的JS问题,但是在ie中却报告有configuration变量没有找到,以下是代码:以下是引用片段:varEnvironment=new(functionEnvironment$ctor(){this.processCommandLine=functi

刚才在调试js,在mozilla中一切正常,但是在ie中却报告有configuration变量没有找到。以下是代码:

以下是引用片段:
  varEnvironment=new(functionEnvironment$ctor()
  {
  this.processCommandLine=functionEnv$procCmdLine(q)
  {
  varcmd=configuration  {};//<----就是这一行报告错误
  //其他代码省略
  }
  };

我先后把这一行改成如下的形式:

以下是引用片段:
  varcmd=configuration==null?{}:configuration;
  varcmd="undefined"==typeof(configuration)?{}:configuration;
  varcmd={};if("undefined"==typeof(configuration))cmd=configuration;
  都是报告同样的错。尝试了多种方法没有效果之后,无奈中把这一行修改成如下的形式:
  varcmd=window.configuration  {};

竟然通过了!!!

最后分析,原因就是JScript中实现和标准的ECMAScript有差距,原来应该configuration找不到的话,应该往上递推,扩大作用域搜索范围,直到搜索到全局变量中。很显然,JScript没有这样做。

所以,以后大家要是遇到Mozilla中好使,但是IE中莫名其妙地报告变量找不到的话,尝试一下加上windows.前缀吧。

Tags:IE 浏览器 一个

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接