应该使用这两种方法中的哪一种来编码URL?
这取决于您实际想要做什么。
encodeURI假定输入是一个完整的URI,其中可能包含一些需要编码的字符。
encodeURIComponent将对具有特殊含义的所有内容进行编码,因此可以将其用于URI的组件,例如
var world = "A string with symbols & characters that have special meaning?"; var uri = 'http://example.com/foo?hello=' + encodeURIComponent(world);