JSLint twierdzi, że coś jest nie tak z tym wykorzystaniem .Połączenia:JSLint twierdzi, że „Unexpected«zadzwoń»”
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);
}
jest źle. Cóż, nieoczekiwany. Po prostu nie mogę dla mojego życia dowiedzieć się, dlaczego coś jest nie tak z kodem? Wygląda na to, że działa, ale martwię się nieoczekiwanym zachowaniem.
Jeśli '_constructTable' jest już dostępna na przykład (prawdopodobnie poprzez' GridView.prototype'), dlaczego trzeba użyć '.call'? Nie możesz po prostu zrobić 'this._constructTable (tableArray);'? –
@ James Allardice: Nie, i tak, mogę. W tej chwili głównie eksperymentuję z "połączeniem". Czyżby JSLint był na tyle sprytny, by zobaczyć, że kod jest głupi? – Fenixp
Wygląda na to, że tak. Jeśli usuniesz 'this' z przed' _constructTable', lub zmienisz 'this' na cokolwiek innego w' .call', JSLint przestanie ostrzegać. –