Jslint严格违规错误

时间:2013-08-08 22:16:47

标签: javascript oop jslint

我正要尝试在js中做一些O​​OP代码,没什么好奇的只是想知道它是如何工作的。 我在网上阅读了一些文档,但代码在jslint中给出了错误。 我从来没有使用过jslint所以我不确定错误消息的重要性,我希望你们能帮忙。

function mainClass(arg1, arg2) {

"use strict";

this.property1 = arg1;
this.property2 = arg2;

this.printClass = function printClass() {

    return this.property1 + " " + this.property2;

}}

这是一个简单的js类,但是我遇到了一些错误,错误是:

  

ln5严格违规。 this.property1 = arg1;

     

ln6严格违规。 this.property2 = arg2;

     

ln8严格违规。 this.printClass = function printClass(){

     

ln12预期';'而是看到'}'。

所以很明显错误是我在全球范围内使用它,正如我在其他一些帖子上看到的那样,但我不知道我应该如何解决这个问题。

这不是编写js类的正确方法吗?

更新<!/强>

var mainClass = function(arg1, arg2) {
'use strict';

this.property1 = arg1;
this.property2 = arg2;

this.printClass = function printClass() {
    return this.property1 + ' ' + this.property2;
};};

我将代码更新为上面的代码,它就像其他代码一样,是否有任何差异,我应该知道声明这样的类和上面的方法?而且这个验证也是如此。

1 个答案:

答案 0 :(得分:1)

是的,JSHint对事情有点严格。但是你的代码很好,当你正确地缩进它时它会完美地验证。此外,您在其中一个函数声明的末尾忘记了;

var foo = function (arg1, arg2) {
    'use strict';

    this.property1 = arg1;
    this.property2 = arg2;

    this.printClass = function printClass() {
        return this.property1 + ' ' + this.property2;
    };
};

或者使用validthis flag,当代码在严格模式下运行时,会禁止有关可能的严格违规的警告,并且您在非构造函数中使用它