有时我会遇到 JavaScript 库/框架特性,我会问自己:如果已经有一个简单的跨浏览器解决方案,为什么我们还需要这个?
Y.Lang.isNull(bla)
看起来和bla === null
我一样,而后者更漂亮(同样适用于“未定义”)。
如果有几种方法可以做到这一点,我不喜欢它,而在顶部的文档中没有一条评论。
我将一个纯 JavaScript 文件移植到 YUI,然后可能移植到另一个框架,我在问自己:我应该每次都触摸那条线以看起来更像框架还是不理会它?有什么好处吗?
有时我会遇到 JavaScript 库/框架特性,我会问自己:如果已经有一个简单的跨浏览器解决方案,为什么我们还需要这个?
Y.Lang.isNull(bla)
看起来和bla === null
我一样,而后者更漂亮(同样适用于“未定义”)。
如果有几种方法可以做到这一点,我不喜欢它,而在顶部的文档中没有一条评论。
我将一个纯 JavaScript 文件移植到 YUI,然后可能移植到另一个框架,我在问自己:我应该每次都触摸那条线以看起来更像框架还是不理会它?有什么好处吗?
对于 null 或 undefined,您应该继续使用标准 JS 检查。这里有一个稍长的解释:Y.Lang.isUndefined vs typeof undefined,哪个更好,为什么?
在 YUI Conf 2012 上,Ryan Grove 做了一个演示什么时候不使用 YUI。 http://www.youtube.com/watch?v=8cTz73zdDuc
在 8:54,他说“当 vanilla JavaScript 可以使用时不要使用 YUI。” 在 9:49,他特别谈到不使用大多数 Y.Lang 方法。在 11:04 他说不要使用 Y.Lang.isNull。
在那里他解释说,这些方法存在的原因是我们永远不会看到的边缘情况,并且 Y.Lang 版本比普通 JavaScript 慢。
在 11:40,他展示了一张关于慢多少的图表。isNull 在 IE9 中慢了 48%。