为什么这个对象的键是字符串?

时间:2016-08-03 15:54:30

标签: javascript

假设:

request = .ajax({
    method: 'POST',
    data : JSON.stringify(object),
    url : 'offline_ajax_queue.php',
    contentType : 'application/json',
    dataType : 'json',
    cache : false,
    success : function(response) {
        console.log(response);
        for (var key in response) {
            if (response.hasOwnProperty(key)) {
                console.log(key, response[key]);
                if(response[key] > -1)
                    removeAction(key);
            }
        }
    }
});

并在控制台中,响应=

{1: 1, 2: 0, 3: 0, 4: 0}

typeof response[key]  //  "number"

为什么键string而不是number呢?

typeof key  //  "string"

1 个答案:

答案 0 :(得分:5)

对象属性名称始终字符串或符号,绝不是数字。

(A Map可以包含不同数据类型的键。)