Javascript函数unescape()的弃用

Javascript函数unescape()的弃用,javascript,Javascript,根据unescape()的说法,JavaScript函数已被弃用。 网站上说 “JavaScript版本1.5中不推荐使用unescape()函数。请使用 改为decodeURI()或decodeURIComponent() 我是否应该检查并替换unescape()的所有实例 JavaScript函数的弃用是否是web开发人员关心并积极更新其JavaScript代码的事情 或者在可预见的将来,我能期望大多数浏览器支持JavaScript 1.5吗 根据需要,您应该更新旧脚本: 此功能已从Web标

根据unescape()的说法,JavaScript函数已被弃用。 网站上说

“JavaScript版本1.5中不推荐使用unescape()函数。请使用 改为decodeURI()或decodeURIComponent()

我是否应该检查并替换unescape()的所有实例

JavaScript函数的弃用是否是web开发人员关心并积极更新其JavaScript代码的事情

或者在可预见的将来,我能期望大多数浏览器支持JavaScript 1.5吗

根据需要,您应该更新旧脚本:

此功能已从Web标准中删除。尽管某些浏览器可能仍然支持它,但它正在被删除。不要在旧项目或新项目中使用它。使用它的网页或Web应用程序可能随时中断

快速修复? 修复它可能很简单,只要在JS中插入一行代码,如果不存在
unescape()
方法,就可以添加该方法

window.unescape = window.unescape || window.decodeURI;

避免在将来使用它,如果您看到它,请更换它,否则不要惊慌。首先,W3学校不是学习的好资源,请尝试[MDN]()我建议改为阅读MDN:是另一种资源,因为您肯定会因为使用W3学校而受到攻击。如果您决定更改它,请确保在整个代码中也将
escape()
更改为
encodeURI()
encodeURIComponent()
,视情况而定…@SpencerWieczorek看到了这一点,这就是为什么它不是好的资源。那么有没有办法签入代码(即有条件的)如果JavaScript函数不推荐使用?您可以检查它是否存在:
var hasUnescape=(typeof window.unescape==“function”)
但这正是快速修复所要做的——它将
unescape
方法定义为它本身(如果存在)或者
decodeURI
。这两个函数不一样
unescape('%E9')
将返回
é
,但是
decodeURIComponent('%E9')
将抛出
格式错误的URI
felixbecker-既然您提到了它们不一样,用哪个函数替换unescape是正确的?