Y.Lang.isUndefined vs typeof undefined,哪个更好,为什么?

时间:2013-05-25 16:31:28

标签: javascript yui

我想知道为什么YUI libs使用Y.Lang.isUndefined(),即使JS有内置功能来检查变量的类型。

2 个答案:

答案 0 :(得分:2)

该方法存在的原因是为了保持API的一致性--YUI团队认为将其排除在外会很奇怪。正如LightStyle指出的那样,isUndefined()没有做任何特别的事情,所以你可能不应该使用它,除非你真的喜欢美学。

事实上,只有少数YUI类型检查方法可以完成除本机之外的任何实际有用工作。 Ryan Grove在他的演讲中详细介绍了这些方法(以及为什么你应该避免大部分方法)When Not To Use YUI (youtube.com)

答案 1 :(得分:0)

我认为没有一个真正的理由,它仅用于开发目的(更容易调用写typeof myVar === 'undefined'的函数。

L.isUndefined = function(o) {
    return typeof o === 'undefined';
};

来自YUI.js source - 第1973行