Sự khác biệt giữa các phương thức giải mãURIComponent() và giải mãURI() trong JavaScript là gì?

Su Khac Biet Giua Cac Phuong Thuc Giai Mauricomponent Va Giai Mauri Trong Javascript La Gi



JavaScript “ giải mãURIComponent() ' và ' giải mãURI() ” các phương thức hoạt động trên URI (Mã định danh tài nguyên đồng nhất). Phương thức “decodeURIComponent()” giải mã các thành phần của nó trong khi “decodeURI()” giải mã nó hoàn toàn. Do đó, định nghĩa của chúng xác định rõ ràng sự khác biệt giữa cả hai nhưng chúng cũng khác nhau dựa trên một số yếu tố khác.

Hướng dẫn này nêu rõ sự khác biệt giữa các phương thức giải mãURIComponent() và giải mãURI().

Đầu tiên, hãy nhìn vào những điều cơ bản của giải mãURIComponent() và giải mãURI phương pháp







trước khi chuyển sang sự khác biệt của họ.



Sự khác biệt giữa các phương thức “decodeURIComponent()” và “decodeURI()” trong JavaScript là gì?

Phần này bao gồm những khác biệt đáng kể giữa các phương thức “decodeURIComponent()” và “decodeURI()”:



Điều kiện giải mãURIComponent() giải mãURI()
Cách sử dụng “decodeURIComponent()” được sử dụng để giải mã các thành phần của URI được mã hóa bằng phương thức “encodeURIComponent()”. “decodeURI()” được sử dụng để giải mã toàn bộ URI được mã hóa với sự trợ giúp của phương thức “encodeURI”.
Thông số “decodeURIComponent()” yêu cầu URI “được mã hóa” bằng phương thức “encodeURIComponent()” làm tham số bắt buộc để giải mã. “decodeURI()” cần một URI “được mã hóa” thông qua phương thức “encodeURI()” làm tham số thiết yếu để thực hiện thao tác giải mã.
giới hạn “decodeURIComponent()” chỉ giải mã phần URI nằm giữa “; / ? : @ & = + $ , #” dấu phân cách. Nó coi các ký tự này là văn bản chứ không phải ký tự đặc biệt. “decodeURIComponent()” giải mã URI hoàn chỉnh.

Bây giờ, hãy xem sự khác biệt đã nêu trên thực tế.





Điểm khác biệt 1: Áp dụng các phương thức “decodeURIComponent()” và “decodeURI()” dựa trên “Cách sử dụng”

Theo điểm khác biệt đầu tiên, phương thức “decodeURIComponent()” giải mã chuỗi được mã hóa thông qua phương thức “encodeURIComponent()” và “decodeURI()” giải mã chuỗi được mã hóa thông qua phương thức “encodedURI()”.

Mã JavaScript

< kịch bản >

var uri = '%3B%2C%41%3F%3A%41%26%3D'

var được mã hóa_URI = mã hóaURIThành phần ( kiểu ) ;

bảng điều khiển. nhật ký ( 'Đầu ra (decodeURIComponent()):' + giải mãURIThành phần ( kiểu ) )

var được mã hóa_uri = mã hóaURI ( kiểu ) ;

bảng điều khiển. nhật ký ( 'URI đã giải mã:' + giải mãURI ( được mã hóa_uri ) ) ;

kịch bản >

Trong đoạn mã trên:



  • Biến “uri” khởi tạo URI (Mã định danh tài nguyên đồng nhất).
  • Biến “encoded_URI” áp dụng “ mã hóaURIComponent() ” để mã hóa “uri” đã truyền làm tham số của nó.
  • Tiếp theo, phương thức “console.log()” sử dụng “ giải mãURIComponent() ” để giải mã chuỗi được mã hóa gần đây và sau đó hiển thị nó trong bảng điều khiển.
  • Sau đó, “ giải mãURI() ” phương thức giải mã URI được mã hóa thông qua “ mã hóaURI() ” được chỉ định trong biến “encoded_uri”.

đầu ra

Người ta thấy rằng bảng điều khiển hiển thị các URI được giải mã bằng cách sử dụng các phương thức “decodeURIComponent()” và “decodeURI()”

Điểm khác biệt 2: Áp dụng các phương thức “decodeURIComponent()” và “decodeURI()” dựa trên “Parameters”

Có thể thấy rõ trong “Sự khác biệt 1” rằng “decodeURIComponent()” chấp nhận URI được mã hóa thông qua phương thức “encodeURIComponent()” và “decodeURI()” hoạt động trên URI được mã hóa thông qua phương thức “encodeURI()” như một tham số.

Điểm khác biệt 3: Áp dụng các phương thức “decodeURIComponent()” và “decodeURI()” dựa trên “Ký tự được giải mã”

Sự khác biệt thứ ba giữa các phương thức “decodeURIComponent()” và “decodeURI()” có thể được phân tích bằng cách giải mã URI cụ thể. Chúng ta hãy xem nó thực tế.

Mã JavaScript

< kịch bản >

var uri = '@%20&%7F=%3A%41%26%3D'

bảng điều khiển. nhật ký ( 'Đầu ra(decodeURIComponent()): ' + giải mãURIThành phần ( kiểu ) )

bảng điều khiển. nhật ký ( 'Đầu ra(decodeURI()): ' + giải mãURI ( kiểu ) )

kịch bản >

Trong phần tập lệnh đã cho:

  • “Đầu tiên” console.log() ” phương thức hiển thị URI được giải mã bằng cách sử dụng “ giải mãURIComponent() ' phương pháp.
  • Phương thức “console.log()” thứ hai hiển thị URI được giải mã với sự trợ giúp của “ giải mãURI() ' phương pháp.

đầu ra

Bảng điều khiển hiển thị rõ ràng rằng phương thức “decodeURIComponent()” chỉ giải mã thành phần URI nằm giữa các ký tự “@ & =' chứ không phải URI hoàn chỉnh.

Phần kết luận

JavaScript “ giải mãURIComponent() ' và ' giải mãURI() ” các phương pháp khác nhau tùy thuộc vào “ cách sử dụng ”, “ thông số ', và ' giới hạn ' các nhân tố. Sự khác biệt chính/đáng kể giữa nhau là “decodeURIComponent()” giải mã thành phần URI trong khi phương thức “decodeURI()” giải mã URI hoàn chỉnh. Hướng dẫn này đã giải thích một cách thực tế những khác biệt chính giữa các phương thức giải mãURIComponent() và giải mãURI().