【问题标题】:Javascript syntax error unexpected token (file input)Javascript 语法错误意外令牌(文件输入)
【发布时间】:2017-12-17 14:36:31
【问题描述】:

我正在构建一个使用 jQuery 从文件输入中读取的函数。我已经使该功能正常工作,但是我在控制台中收到了语法警告。这是我的代码:

function (el) {

    function () {
        var file = el.files[0];
        if (file) {
            read = new FileReader();
            read.readAsDataURL(file);
        }

        return read.result;
    }
}

由于第 3 行 function () { 上的代码,出现错误,错误显示为:

Uncaught SyntaxError: Unexpected token (

有什么想法吗?

【问题讨论】:

  • 设置一个无论如何都不会被调用的匿名function 的目的是什么?

标签: javascript jquery filereader


【解决方案1】:

匿名函数必须是表达式的一部分,例如一个赋值,立即调用,或作为参数传递。

但是你没有以任何方式使用匿名,这是一个语法错误。

在给定的地方,只有一个命名的函数是有效的,所以解析器需要一个函数标识符,但找到一个 ( 并抛出:

Uncaught SyntaxError: Unexpected token (

【讨论】:

  • 由于某种原因,当我为函数命名时,代码不再起作用。
  • @easports611 @easports611 是什么意思 no longer works 当控制台显示 Uncaught SyntaxError: Unexpected token ( 错误时,您的代码是否有效?
  • 是的,它适用于语法警告,但是当我命名函数时它不起作用(但警告消失了)。
  • @easports611 出现 SyntaxError 的完整文件将不会被执行。因此,负责运行的代码不在该文件中。一旦您修复了SyntaxError,该文件中的整个代码就会被执行。因此,您需要检查文件中的哪些内容可能会破坏您的代码。但这超出了这个问题的范围。
【解决方案2】:

您需要将函数命名为 t.niese 注释: 匿名函数必须是表达式的一部分,例如一个赋值,立即调用,或作为参数传递。但是你没有以任何方式使用匿名,这是一个语法错误。

function read(el) {

    function readFile() {
        var file = el.files[0];
        if (file) {
            read = new FileReader();
            read.readAsDataURL(file);
        }

        return read.result;
    }
}

【讨论】:

  • 我实际上尝试命名函数,这破坏了代码的功能(没有可见的错误,但数据没有发送到服务器。
猜你喜欢
  • 2016-10-31
  • 1970-01-01
  • 1970-01-01
  • 2019-10-28
  • 2019-01-17
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
  • 2017-05-11
相关资源
最近更新 更多