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

来源:2-3 分析zepto源码-init函数

lacoooo

2017-07-31 17:42

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

写回答 关注

3回答

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

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

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

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

    lacooo...

    非常感谢!

    2017-08-24 23:01:53

    共 1 条回复 >

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

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

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

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

    lacooo...

    谢谢回答~ $、key、classList等作为变量我知道的,只是定义undefined不知有何用意?

    2017-08-04 09:00:00

    共 1 条回复 >

zepto设计和源码分析

介绍zepto的设计框架和实现原理,看完后能轻松解读zepto所有源码

16431 学习 · 16 问题

查看课程

相似问题