V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Chigogo
V2EX  ›  问与答

关于 JS 闭包,微小的发现与疑问

  •  
  •   Chigogo · 2016-09-02 21:52:34 +08:00 · 1973 次点击
    这是一个创建于 3005 天前的主题,其中的信息可能已经有所发展或是发生改变。
    function a(){
      alert(hehe);
    }
    
    function b(){
      var hehe="110";
      a();
    }
    
    b();
    

    请在脑中调试,写下 alert()的结果。

    15 条回复    2016-09-03 12:40:31 +08:00
    Seita
        1
    Seita  
       2016-09-02 21:55:40 +08:00   ❤️ 1
    难道不是 undefined 报错吗
    t0byxdd
        2
    t0byxdd  
       2016-09-02 22:00:20 +08:00
    undefined
    Chigogo
        3
    Chigogo  
    OP
       2016-09-02 22:04:30 +08:00
    @Seita
    @t0byxdd
    为什么我的第一反应是报警电话?
    tftk
        4
    tftk  
       2016-09-02 22:36:25 +08:00
    因为你没看清 var hehe="110" 和 hehe="110" 的区别。
    ChiangDi
        5
    ChiangDi  
       2016-09-02 22:54:07 +08:00
    你听过词法作用域吗,这个是最基础的
    zhy0216
        6
    zhy0216  
       2016-09-02 22:56:03 +08:00
    ... 楼主这不是闭包...
    作用域
    ck65
        7
    ck65  
       2016-09-02 23:08:38 +08:00
    JS 大部头二选一重新学一遍吧。
    itisthecon
        8
    itisthecon  
       2016-09-02 23:40:33 +08:00
    这个根本就不是闭包啊
    think2011
        9
    think2011  
       2016-09-02 23:50:40 +08:00
    出错
    allan888
        10
    allan888  
       2016-09-02 23:52:23 +08:00
    这确实不是闭包,是作用域的问题,这么搞才是:
    function a(){
    var hehe="110";
    return ()=>{
    alert(hehe);
    };
    }

    a()();
    echol
        11
    echol  
       2016-09-02 23:59:29 +08:00
    this 不一样
    bind 一下就好
    不是闭包
    shiny
        12
    shiny  
       2016-09-03 00:03:03 +08:00
    我感觉你们年轻人啊,还需要学习一个。
    Chigogo
        13
    Chigogo  
    OP
       2016-09-03 00:39:14 +08:00
    @zhy0216 收到!
    @ChiangDi Lexical scope!
    @shiny 我们毕竟还 too young !
    @echol 搜噶~
    YuJianrong
        14
    YuJianrong  
       2016-09-03 09:53:50 +08:00 via iPad
    要问问题就好好问问题,这标题是什么鬼……
    g0thic
        15
    g0thic  
       2016-09-03 12:40:31 +08:00 via iPhone
    这确实是基础的问题了,好好看看书吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6123 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 06:15 · PVG 14:15 · LAX 22:15 · JFK 01:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.