【问题标题】:Methods from Javascript file will load in IE but not ChromeJavascript 文件中的方法将在 IE 中加载,但不会在 Chrome 中加载
【发布时间】:2014-06-19 12:08:41
【问题描述】:

网页正在加载几个不同的 javascript 文件,所有这些文件都正确显示在 Chrome 控制台的“源”选项卡中,但是尝试从其中一个页面调用方法会导致控制台显示“未捕获的引用错误:未定义”不是函数”或“未捕获的引用错误:[函数名称] 未定义”取决于函数的声明方式1。 Chrome 控制台中还有一个错误,即“未捕获的语法错误:分配中的左侧无效”来自无法加载的页面,但 IE 中不存在该错误。该错误来自以下函数:

ListOfNumbers.prototype.reset = function () {
    this = new ListOfNumbers;
};

为什么我无法访问该页面上的任何功能?


1 错误信息的区别在于
  1. variableName = function() {}; 产生undefined is not a function,而
  2. function functionName() {} 产生functionName is not defined

【问题讨论】:

  • 您在两个作业中都错过了;variableName = function() {};ListOfNumbers.prototype.reset = function () {this = new ListOfNumbers;};
  • @elcodedocle 已编辑。谢谢。

标签: javascript internet-explorer google-chrome


【解决方案1】:

Javascript function using “this = ” gives “Invalid left-hand side in assignment” 中解释了无效的左侧错误。如果您尝试运行该函数,IE 会给出同样的错误,您可以通过输入自己看到该错误

var test = new ListOfNumbers(); test.reset();

在 IE 的控制台中。

IE 仅在尝试运行该函数时检测到错误,但 Chrome 会在页面加载时检测到它,然后阻止该 javascript 文件中的任何内容运行,即使它仍会在“源”下显示该文件。修复无效的左侧应该也可以解决 Chrome 的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    • 1970-01-01
    • 1970-01-01
    • 2018-07-15
    • 1970-01-01
    相关资源
    最近更新 更多