【问题标题】:JSLint: Read Only error when setting console even though it's set as writable globalJSLint:设置控制台时出现只读错误,即使它设置为可写全局
【发布时间】:2011-09-27 16:55:27
【问题描述】:

考虑以下代码:

/*global console:true */
(function () {
    "use strict";

    //set console for browsers without debugger
    if (!console) {
        console = {
            log: function() {}
        };
    }
});

这会抛出一个错误:

Error:
Problem at line 7 character 9: Read only.

console = {

Problem at line 7 character 9: Stopping. (3% scanned).

然而,控制台已被设置为可写全局,因此它不应该是只读的。

关于如何规避或解决此问题的任何建议?

谢谢。

【问题讨论】:

  • 我试图在 jslint.com 网站上重现此内容,但没有成功,除了将 true 替换为 false。你用的是命令行工具,还是网站?
  • @bbg,我正在网站上尝试,jslint.com。很奇怪,您无法复制它。我又试了一次,没有成功。
  • 啊哈,你有没有选中Assume console, alert... 框?如果是这样,请尝试取消选中它。
  • @bbg,成功了。我应该考虑到这一点。非常感谢。
  • 优秀。我添加了相同的评论作为答案,但现在它只是多余的。

标签: javascript debugging jslint


【解决方案1】:

如果您使用的是 jslint.com 网站,并且选中了 Assume console, alert, ... 框,请尝试取消选中它。

【讨论】:

    【解决方案2】:

    我复制了您的代码并尝试将其放入 www.jslint.com,不得不更改两件小事,但现在它没有给我任何错误(在“函数”后添加一个空格并添加了自我调用):

    /*global console:true */
    (function () {
        "use strict";
    
        //set console for browsers without debugger
        if (!console) {
            console = {
                log: function () {}
            };
        }
    }());
    

    你在哪里试过?

    【讨论】:

    • 已修复,在 bbg 的帮助下,引用:“啊哈,您是否选中了 Assume 控制台、警报...框?如果有,请尝试取消选中它。”。
    猜你喜欢
    • 1970-01-01
    • 2019-12-19
    • 1970-01-01
    • 2016-05-19
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 2010-12-01
    • 1970-01-01
    相关资源
    最近更新 更多