Mon code:
Remarque: l'objet Slider est déclarée mais omis dans l'extrait ci-dessous pour une meilleure lisibilité
JavaScript: JSLint lance « Lecture seule
"use strict";
/*global arrayContainer, SliderInstance, DomObjects */
arrayContainer = new Slider.constructArray();
SliderInstance = Object.beget(Slider);
DomObjects = {
animationContainer: document.getElementById('animationContainer'),
buttonRight: document.getElementById('buttonRight'),
buttonRightDots: document.getElementById('buttonRightDots'),
ieEffectImg: document.getElementById('ie_effectIMG')
};
C'est ce que JSLint produit (et sur les deux autres Objets SliderInstance et DomObjects)
Error:
Problem at line 3 character 1: Read only.
arrayContainer = new Slider.constructArray();
Problem at line 3 character 1: Stopping. (27% scanned).
Comment satisfaire les exigences de JSLint? Que fait "Lecture seule". signifier?
Vous avez un œil vif et une bonne compréhension de JSLint. Cela a bien fonctionné. JSLint Docs dit: "Chaque nom peut éventuellement être suivi d'un deux-points et soit vrai ou faux, vrai indiqué que la variable peut être assignée par ce fichier, et faux indiquant que l'attribution n'est pas autorisée, ce qui est la valeur par défaut." Certaines questions intéressantes découlent de cette réponse. 1) Pourquoi le booléen que j'attribue à l'objet document global n'a-t-il pas d'importance? Et plus important encore: 2) Pourquoi JSLint ou JavaScript se soucient-ils des objets globaux? – nottinhill
Oh, ceci pour éviter d'assigner un objet global par accident (par exemple en oubliant le mot-clé var et en écrivant 'document = $ ('# attachment_document')' – glebm
Aussi, JavaScript lui-même ne se soucie pas de l'assigner, seul JSLint fait – glebm