我正在尝试将以下代码变为jslint-compliant,但我仍然遇到以下两个错误:
预计会看到一个声明,而是看到一个阻止。
和
意外'这'。
我应该对我的代码进行哪些更改以使JSLint满意?
var pvAccess = {};
pvAccess.Func = function () {
"use strict";
function AccessPV(name, rValue, wValue) {
var url = '/goform/ReadWrite',
data = 'redirect=/response.asp&variable=' + escape(name),
xmlHttp = null,
wValue = null;
if (rValue !== null && rValue !== "") {
data += '&value=' + escape(rValue);
data += "&write=1";
} else {
data += '&value=none';
data += "&read = 1";
}
try {
// Mozilla, Opera, Safari sowie Internet Explorer (ab v7)
xmlHttp = new XMLHttpRequest();
} catch (e) {
try {
// MS Internet Explorer (ab v6)
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
try {
// MS Internet Explorer (ab v5)
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e3) {
xmlHttp = null;
}
}
}
if (xmlHttp) {
xmlHttp.open('POST', url, 1);
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState === 4) {
if (wValue !== null) {
wValue[3] = xmlHttp.responseText;
wValue[3] = wValue[3].replace("<!-- B&R ASP Webserver -->", "");
// value attribute of node
wValue.value = wValue[3];
return wValue;
}
}
};
xmlHttp.send(data);
}
}
// public
{
this.WritePV = function (name, value) { AccessPV(name, value); }
this.ReadPV = function (name, wValue) { return AccessPV(name, null, wValue); }
}
}
pvAccess = new pvAccess.Func();
答案 0 :(得分:0)
我可以看到的两件可能导致这种情况的事情是:
{}
。这可能导致预期的语句错误。this.WritePV = function { ... }this.ReadPV
),因此就是“意外的”。因此,您需要将公共方法更改为:
// public
this.WritePV = function (name, value) { AccessPV(name, value); };
this.ReadPV = function (name, wValue) { return AccessPV(name, null, wValue); };
答案 1 :(得分:0)
{
this.WritePV = function (name, value) { AccessPV(name, value); }
this.ReadPV = function (name, wValue) { return AccessPV(name, null, wValue); }
}
^^^
导致错误。删除那些括号,它自己修复。它还希望你使用分号。
this.WritePV = function (name, value) { AccessPV(name, value); };
this.ReadPV = function (name, wValue) { return AccessPV(name, null, wValue); };