Javascript 真的有必要使用现代化吗?

Javascript 真的有必要使用现代化吗?,javascript,feature-detection,Javascript,Feature Detection,特别是如果我可以使用as JS功能检测: if (localStorage in window) { // you have local storage } 甚至更简单: if (crypto.subtle) { // you can encrypt document} 对于css检测: if (CSS.supports('display', 'flex')) { // you can load flex layout } 很容易忘记一些小事情,为了确保在任何浏览器上都没有问题,您必须进行

特别是如果我可以使用as JS功能检测:

if (localStorage in window) { // you have local storage }
甚至更简单:

if (crypto.subtle) { // you can encrypt document}
对于css检测:

if (CSS.supports('display', 'flex')) { // you can load flex layout }

很容易忘记一些小事情,为了确保在任何浏览器上都没有问题,您必须进行广泛的测试。例如,第二个示例(
if(crypto.minute)
)在一些未定义
crypto
的浏览器上会失败(
minute不是未定义的
的子项)


所以,不,没有必要。它非常方便。

使用现代化很简单。有些功能不容易检测。其次,你不必自己开支票。Modernizer是一个经过测试和维护的库,可帮助您检测功能

Modernizr使分层体验的交付变得容易:利用浏览器中支持它们的最新和最强大的功能,而不会让不太幸运的用户孤立无援


简而言之:您不必使用Modernizer(例如,当您想要消除任何不必要的库或代码时),但这样做肯定很容易。

Modernizer是纯JavaScript,因此您当然可以自己复制它。