问答详情
源自:2-3 分析zepto源码-init函数

源码里的 var undefined 是干嘛的?有人知道吗?

源码里的 var undefined 是干嘛的?有人知道吗?

提问者:lacoooo 2017-07-31 17:42

个回答

  • 星跞
    2017-08-23 23:19:41
    已采纳

    因为window下直接挂载的undefined可能会被用户或其他库的代码覆盖:

    window.undefined = "我被覆盖了";

    所以zepto作者在局部变量里定义了一个未初始化的undefined,因为未初始化,所以undefined变量值肯定为undefined,综上就是为了避免全局undefined变量被覆盖导致判断不准的问题。

  • 星跞
    2017-08-23 23:22:39

    不过新的浏览器如chrome等已经修正了这个问题,undefined变量已经不能被覆盖。

  • lolly1
    2017-08-04 00:25:43

    undefined和$、key、classList等,是作为变量定义的