我有以下代碼片段似乎是正確的,但jslint不喜歡它。jslint給予預期的字符串,而不是看到{a}
var VALID_TYPE = {
"stringType" : "string",
"arrayType" : "array",
"objectType" : "object"
},
DEFAULT_FIRST = 1, DEFAULT_LAST = 1, PRIMITIVE_TYPE = {
"stringType" : "string",
"arrayType" : "array",
"objectType" : "object",
"undefinedType" : "undefined",
"booleanType" : "boolean",
"numberType" : "number"
};
VALID_TYPE.toString = function() {
var types = [], currentType;
for (currentType in this) {
if (typeof this[currentType] === PRIMITIVE_TYPE.stringType) {
types.push(this[currentType]);
}
}
var outputString = types.join(', ');
return outputString;
};
錯誤路線是這樣的,在所述 「」: 如果(typeof運算此[currentType] === PRIMITIVE_TYPE.stringType){
錯誤的確切文本是: 預期一字符串,而是看到'。'。
toString()按預期執行。除了將表達式的右側放入另一個變量之外,我無法看到應該更改以避免錯誤。該錯誤尚未在jslinterrors.com上描述。
它看起來像JSLint不喜歡它,當你比較'typeof'到一個非常量。不知道爲什麼... – SLaks