官方解释:Map对象就是简单的键/值映射.其中键和值可以是任意值(原始值或对象值).

简单应用如下:

如实现color与status的一一对应

var status_map = {        'null': 'unbegin',        'yellow': 'beginning',        'lightgray': 'end'    };var color='yellow';var status = status_map[color];status

得到status的值为'beginning';

也可以这样:

var status_map = {        'null': function () {            return 'unbegin'        },        'yellow': function () {            return 'beginning'        },        'lightgray': function () {            return 'end'        }    }var color='yellow';var status = status_map[color]();//注意区别,试想一下不加后面的括号结果会怎样status

也可以得到status的值为'beginning';

如此以来,再联想一下,这样的结构是不是与switch函数有些像

function color_to_status(color) {    switch (color) {        case 'null':            return 'unbegin';            break;        case 'yellow':            return 'beginning';            break;        case 'lightgray':            return 'end';            break;        default :            break;    }}var color='yellow';var status = status_to_color(color);

这样函数中的switch函数便可用map对象来代替

关于switch与map对象的性能比较可参看

参考链接