When are you supposed to use escape instead of encodeURI / encodeURIComponent?

前端 未结 15 1119
栀梦
栀梦 2020-11-21 07:39

When encoding a query string to be sent to a web server - when do you use escape() and when do you use encodeURI() or encodeURIComponent()

15条回答
  •  你的背包
    2020-11-21 07:48

    Modern rewrite of @johann-echavarria's answer:

    console.log(
        Array(256)
            .fill()
            .map((ignore, i) => String.fromCharCode(i))
            .filter(
                (char) =>
                    encodeURI(char) !== encodeURIComponent(char)
                        ? {
                              character: char,
                              encodeURI: encodeURI(char),
                              encodeURIComponent: encodeURIComponent(char)
                          }
                        : false
            )
    )

    Or if you can use a table, replace console.log with console.table (for the prettier output).

提交回复
热议问题