Javascript explication svp :)

Résolu
florian62110 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
tksteph Messages postés 204 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour a tous , je fais appelle a votre aide car j'aurai besoin que quelqu'un m'explique une fonction que j'ai introduit dans mon site , je ne la comprends pas totalement et il me faudrait si possible une explication très détaillé de "chaque ligne" svp ( c'est un projet effectué en classe , et a vrai dire je ne suis pas très doué en informatique , ce qui m'empeche de comprendre les explications pour connaisseurs des sites ( meme site du zero )
voici le fonction :


// Création de la base de données
var base=new InitBase();
base.Add("foot.html","ballon,football,foot");
base.Add("rambo.html","dof,fod");
// COMPLETEZ ICI la base de données
// base.Add( , ) Jusque la je comprends :)


function disp(txt) { document.write(txt) }
function InitBase() {
this.nb_item=0;
this.Add=AddItem;
this.Search=SearchItem;
}
function AddItem(page,cle) {
var nb = this.nb_item;
var item = new Object;
item.page=page;
item.cle=cle;
this[nb]=item;
this.nb_item++;
}


function SearchItem(txt) {
// txt contient le texte de la recherche

var n=base.nb_item;
var indice=-1;
if (txt=="") {alert("Entrez un mot pour la recherche"); }
else
{ for (var i=0; i<n; i++)
{if (base[i].cle.toUpperCase().indexOf(txt.toUpperCase(),0)!="-1") {indice=i;} // modier le -1 en 1 pour avoir une base positive
}
if (indice>=0) {window.location=base[indice].page;} // Recherche fructueuse
else {window.location="error.html";} // Redirection vers la page NOT FOUND
}
}




Je vous remercie d'avance :)

3 réponses

tksteph Messages postés 204 Date d'inscription   Statut Membre Dernière intervention   25
 
Bonjour, tout dabord, je pense que tu t'es trompé de forum, néanmoins voici une petite explication.
J'ai éssayé de rester très "Bas niveaux" pour les explications





<SCRIPT language = "JavaScript">
// Création de la base de données
var base=new InitBase();
base.Add("foot.html","ballon,football,foot");
base.Add("rambo.html","dof,fod"); // ICI, appel de la fonction dont je parle par la
//suite: AddItem(page,cle)

// Pr des raisons de comprehension je commence la description de cette
// fonction ici.
// page == "foot.html" et cle = "ballon,football,foot" ce sont les
//arguments de la fonction AddItem



// COMPLETEZ ICI la base de données
// base.Add( , )


function disp(txt) { document.write(txt) }
function InitBase() {
this.nb_item=0;
this.Add=AddItem;
// ICI, création d'une variable Add qui contient la fonction AddItem (Qui est //appelée plus haut avec les arguments)
this.Search=SearchItem;
}
function AddItem(page,cle) {
// La fonction se charge donc de créer un objet item ayant deux attributs page
//et cle. A chaque ajout d'un nouveau couple (page, cle) l'attribut nb_item
//s'incrémente de +1
//Et le couple est enregistré comme un element d'un tableau (La fonction)
var nb = this.nb_item;
var item = new Object;
item.page=page;
item.cle=cle;
this[nb]=item;
this.nb_item++;
}


function SearchItem(txt) {
// txt contient le texte de la recherche

var n=base.nb_item;
var indice=-1;
if (txt=="") {alert("Entrez un mot pour la recherche"); }
// Si tu tapes entrez ou tu valides ton formulaire sans entrer de mot, il te
//signale d'entrer un mot pour la recherche
else
{ for (var i=0; i<n; i++)
{if (base[i].cle.toUpperCase().indexOf(txt.toUpperCase(),0)!="-1") {indice=i;}
// Recherche la présence du mot recherché, indépendement de la casse, dans
//chaque mot de la base grace à la fonction index.of() qui te retourne la
//valeur de la position de la première occurence du mot que tu lui passe en
//paramètre, dans la phrase sur laquelle tu l'appelles.
}
if (indice>=0) {window.location=base[indice].page;}
// Ainsi si l'occurence trouvér précedement est positive, alors le mot a été
//retrouvé et donc il affiche la page
else {window.location="error.html";} // Si non redirection
}
}

</SCRIPT>
0
florian62110 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Bonsoir je vous remercie vraiment pour votre réponse !
C'est assez claire malgré quelque point d'ombre tout de même que j'essaierai d'éclaircir avec mon camarade lundi soir ( nous sommes 2 par projet)
Si jamais une difficulté subsiste, je n'hésiterai pas à vous remettre un commentaire lundi soir, merci encore ! Bonne soirée
0
tksteph Messages postés 204 Date d'inscription   Statut Membre Dernière intervention   25
 
N'oblie pas de marquer résolu
0