Javascript 为什么JSLint会返回意外的';字符串';消息

Javascript 为什么JSLint会返回意外的';字符串';消息,javascript,jslint,Javascript,Jslint,我想在Javascript中为字符串添加一些附加功能,并使用以下Javascript代码: String.prototype.left = function (n) { "use strict"; return this.substring(0, n); } String.prototype.right = function (n) { "use strict"; return this.substring(this.length - n); } 然而,当我

我想在Javascript中为字符串添加一些附加功能,并使用以下Javascript代码:

String.prototype.left = function (n) {
    "use strict";
    return this.substring(0, n);
}

String.prototype.right = function (n) {
    "use strict";
    return this.substring(this.length - n); 
}

然而,当我对JSLint运行此代码时,我得到以下错误:意外的“String”。我不太清楚错误的含义,我不知道是否应该在JSLint设置中更改某些内容以“避免”错误,或者是否应该更改代码。

使用分号,我没有收到以下错误/警告:

String.prototype.left = function (n) {
    "use strict";
    return this.substring(0, n);
};

String.prototype.right = function (n) {
    "use strict";
    return this.substring(this.length - n); // <-- SPACE HERE
};
String.prototype.left=函数(n){
“严格使用”;
返回此.substring(0,n);
};
String.prototype.right=函数(n){
“严格使用”;

返回此.substring(this.length-n);//使用分号,我不会收到以下错误/警告:

String.prototype.left = function (n) {
    "use strict";
    return this.substring(0, n);
};

String.prototype.right = function (n) {
    "use strict";
    return this.substring(this.length - n); // <-- SPACE HERE
};
String.prototype.left=函数(n){
“严格使用”;
返回此.substring(0,n);
};
String.prototype.right=函数(n){
“严格使用”;

返回this.substring(this.length-n);//在第一个
}的末尾放一个分号
缺少分号的错误消息非常糟糕。我觉得有一次道格拉斯·克劳福德(Douglas Crawford)在演讲中表示不愿意让程序员更容易理解错误消息……哦,对了,每一次演讲都是这样:在你的第一个
结尾放一个分号
缺少分号的错误消息非常糟糕。我觉得有一次道格拉斯·克劳福德(Douglas Crawford)在演讲中表示不愿意让程序员更容易理解错误消息。。。哦,对了,每一篇演讲都是这样:啊,分号!非常感谢你。有趣的是,你盯着那些简单的东西看了太久,却错过了它们。@QuittersNL哈哈,没问题。是的,这是一个奇怪的错误消息,但在某种程度上,这是有道理的。不管怎样,很高兴它现在对你有用:)啊,分号!非常感谢你。有趣的是,你盯着那些简单的东西看了太久,却错过了它们。@QuittersNL哈哈,没问题。是的,这是一个奇怪的错误消息,但在某种程度上,这是有道理的。不管怎样,很高兴它现在对你有效:)