J'ai donc cela dans le javascript pour ma page:Javascript ENUM correspondant Valeur chaîne
var TEST_ERROR = {
'SUCCESS' : 0,
'FAIL' : -1,
'ID_ERROR' : -2
};
et effectuent des tests sur les fonctions dans la page comme ceci:
function test()
{
// Get the paragraph from the DOM
var testResultParagraph = document.getElementById('testResult');
// Check the paragraph is valid
if(!testResultBox)
{
// Update the web page
testResultParagraph.value = TEST_ERROR.ID_ERROR;
return TEST_ERROR.ID_ERROR;
}
// Something to store the results
var testResult = TEST_ERROR.SUCCESS;
// Test the calculation
testResult = testCalculate()
// Update the web page
testResultParagraph.value = testResult;
// The test succeeded
return TEST_ERROR.SUCCESS;
}
Le résultat de testCalculate()
et la valeur du paragraphe sera soit 0, -1, -2 en fonction du résultat.
Maintenant, je veux mapper ce à une chaîne de sorte que les de succès »montre paragraphe, « échec » ou « Erreur ID »
je pouvais le faire de plusieurs façons je figurés:
var TEST_ERROR = {
'SUCCESS' : {VALUE : 0 , STRING: 'Success' },
'FAIL' : {VALUE : -1, STRING: 'Fail' },
'ID_ERROR' : {VALUE : -2, STRING: 'Id Error'},
};
nécessiterait une modification des accesseurs de points de ENUM, ou
var TEST_ERROR = {
'SUCCESS' : 0,
'FAIL' : 1,
'ID_ERROR' : 2
};
var TEST_STRING = [
'Success',
'Fail',
'ID Error'
];
qui nécessiterait des modifications à la logique (result > TEST_ERROR.SUCCESS
semble étrange tho!)
Ma question est comment allez-vous mapper une valeur d'énumérateur à une valeur de chaîne dans Javascript? Je pense que la deuxième façon est la plus raisonnable, mais j'aimerais que l'énumérateur soit positif pour les succès et négatif pour les échecs. J'aime aussi l'idée de la première contenant les chaînes et les valeurs dans la structure de l'objet.
Des idées?
Merci!
Matt
PS. Je vais faire le test dans un Web Worker, afin que la page ne se bloque pas et les résultats seront mis dans une table, pas un paragraphe comme ci-dessus.
PPS. Je suis assez nouveau pour la programmation Javascript, mais je fais beaucoup en ASM, C, C++, C#.
Merci pour les réponses, je suis assez tôt dans ce projet donc j'accepte une réponse mais je ne sais pas dans quelle direction j'irai en ce moment. –