【发布时间】:2011-05-16 06:33:13
【问题描述】:
所以我在我的页面的 javascript 中有这个:
var TEST_ERROR = {
'SUCCESS' : 0,
'FAIL' : -1,
'ID_ERROR' : -2
};
并像这样对页面中的功能进行测试:
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;
}
testCalculate() 的结果和段落的值将是 0、-1、-2,具体取决于结果。
现在我想将它映射到一个字符串,以便段落显示“成功”、“失败”或“ID 错误”
我可以通过几种方法做到这一点:
var TEST_ERROR = {
'SUCCESS' : {VALUE : 0 , STRING: 'Success' },
'FAIL' : {VALUE : -1, STRING: 'Fail' },
'ID_ERROR' : {VALUE : -2, STRING: 'Id Error'},
};
需要修改枚举点访问器,或者
var TEST_ERROR = {
'SUCCESS' : 0,
'FAIL' : 1,
'ID_ERROR' : 2
};
var TEST_STRING = [
'Success',
'Fail',
'ID Error'
];
这需要更改逻辑(result > TEST_ERROR.SUCCESS 看起来很奇怪!)
我的问题是如何将枚举器值映射到 Javascript 中的字符串值?我认为第二种方式是最明智的,但希望枚举器对成功和否定失败。我也喜欢第一个在对象结构中包含字符串和值的想法。
有什么想法吗?
谢谢!
马特
PS。我将在 Web Worker 中进行测试,这样页面就不会挂起,结果将被放入表格中,而不是像上面那样的段落。
PPS。我对 Javascript 编程很陌生,但在 ASM、C、C++、C# 方面做了很多工作。
【问题讨论】:
-
感谢您的回答,我在这个项目中还很早,所以会接受答案,但不确定我现在要走哪个方向。
标签: javascript enums