JSLint insiste sul fatto che ci sia qualcosa di sbagliato in questo uso del .Call:JSLint insiste sul fatto che "Unexpected 'call'"
function GridView(tableArray, tableId, multiselect) {
"use strict";
if (multiselect == undefined) {
this.multiselect = false;
} else {
this.multiselect = multiselect;
}
this.tableID = tableId;
this.propertiesArr = [];
this.tableHTML = undefined;
this.oTable = undefined;
this._constructTable.call(this, tableArray);
}
è sbagliato. Beh, inaspettato, comunque. Non riesco proprio a capire perché, c'è qualcosa di sbagliato nel codice? Sembra funzionare, ma sono preoccupato per un comportamento inaspettato.
Se '_constructTable' è già disponibile per l'istanza (presumibilmente tramite' GridView.prototype'), perché avete bisogno di usare '.call'? Non puoi semplicemente fare 'this._constructTable (tableArray)?'? –
@ James Allardice: io no, e sì che posso. Per lo più sto sperimentando con "call" adesso. Quindi JSLint è abbastanza intelligente da vedere che il codice è stupido? – Fenixp
Sembra di sì, sì. Se rimuovi 'this' da prima di' _constructTable', o cambia 'this' in qualsiasi altra cosa nel' .call', JSLint non avverte più. –