我正要尝试在js中做一些OOP代码,没什么好奇的只是想知道它是如何工作的。 我在网上阅读了一些文档,但代码在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;
};};
我将代码更新为上面的代码,它就像其他代码一样,是否有任何差异,我应该知道声明这样的类和上面的方法?而且这个验证也是如此。
答案 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,当代码在严格模式下运行时,会禁止有关可能的严格违规的警告,并且您在非构造函数中使用它。