2012-01-06 24 views
9

Tôi đang gặp sự cố khi tìm hiểu điều gì xảy ra với mã bên dưới. Tôi đã tham khảo ý kiến ​​cách sử dụng typeofswitch cases, nhưng tôi bị mất vào thời điểm này. Cảm ơn trước cho lời khuyên của bạn.Cách sử dụng typeof và chuyển đổi các trường hợp trong Javascript

// Write a function that uses switch statements on the 
// type of value. If it is a string, return 'str'. If it 
// is a number, return 'num'. If it is an object, return 
// 'obj'. If it is anything else, return 'other'. 
function detectType(value) { 
    switch (typeof value) { 
    case string: 
     return "str"; 
    case number: 
     return "num"; 
    default: 
     return "other"; 
    } 
} 

------------- Cập nhật ----------------------------- ------

Tắt vấn đề xuất phát từ lỗi của tôi (hoặc thay vì giám sát) không tuân theo hướng dẫn đúng cách. Cảm ơn một lần nữa vì sự giúp đỡ và bình luận của bạn!

Trả lời

20

typeof trả về một chuỗi, do đó nó phải được

function detectType(value) { 
    switch (typeof value) { 
    case 'string': 
     return "str"; 
    case 'number': 
     return "num"; 
    default: 
     return "other"; 
    } 
} 
+0

Điều đó mang lại cho tôi một câu hỏi khác. Khi nào tôi nên sử dụng các trích dẫn đơn lẻ và khi nào tôi nên sử dụng các trích dẫn kép? – stanigator

+0

Nó thực sự không quan trọng, tôi đã gõ dấu nháy đơn trong ví dụ trên chỉ vì đó là sở thích cá nhân của tôi. Để biết thêm chi tiết về câu hỏi, hãy xem http://stackoverflow.com/questions/242813/when-to-use-double-or-single-quotes-in-javascript – qiao

1

Đây là mã sẽ làm việc cho bạn:

function detectType(value) { 
    switch (typeof value) { 
    case "string": 
    return "str"; 
    case "number": 
    return "num"; 
    default: 
    return "other"; 
    } 
} 
+0

chuỗi, số cần phải có "xung quanh chúng ... –

+0

Tôi đã thử điều này rồi. – stanigator

2

Đây là mã mà sẽ làm việc. Tôi cũng đang đi qua các khu vực codeacademy.com. Vấn đề là với typeOf có vỏ hỗn hợp. Đó là trường hợp nhạy cảm và phải là tất cả chữ thường: typeof

function detectType(value) { 
    switch(typeof value){ 
    case "string": 
     return "str"; 
    case "number": 
     return "num"; 
    case "object": 
     return "obj"; 
    default: 
     return "other"; 
    } 
} 
Các vấn đề liên quan