V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qwe3364925
V2EX  ›  PHP

看下有多少个 PHPer 能答对这道前端 js 题目?

  •  
  •   qwe3364925 · 2017-04-19 18:44:46 +08:00 · 3173 次点击
    这是一个创建于 2783 天前的主题,其中的信息可能已经有所发展或是发生改变。
    (function(){var a = b = 5;})();

    请问
    console.log(a);
    console.log(b);
    分别会输出什么?
    19 条回复    2017-04-20 13:20:49 +08:00
    b821025551b
        1
    b821025551b  
       2017-04-19 18:51:14 +08:00
    两个 5
    Clarencep
        2
    Clarencep  
       2017-04-19 18:55:13 +08:00
    干净的环境中( a 和 b 都没有定义过):
    1. 非严格模式下, a 会报错, b 是 5 ;
    2. 严格模式下直接报错 over



    来而不往非礼也, LZ 来试试这个:

    console.log('a b c ' + '1 2 3'.split(' ').map(parseInt)); // 输出什么?
    bdbai
        3
    bdbai  
       2017-04-19 19:14:15 +08:00 via Android
    js 跟 PHP 有什么关系
    chunqiuyiyu
        4
    chunqiuyiyu  
       2017-04-19 19:18:36 +08:00 via iPhone
    js 跟 PHP 有什么关系 +1
    iot
        5
    iot  
       2017-04-19 19:30:55 +08:00
    我 php 、 web 前端都做过全职
    jarlyyn
        6
    jarlyyn  
       2017-04-19 19:35:59 +08:00
    这种题目出出来的人应该被开除。
    IamJ
        7
    IamJ  
       2017-04-19 19:44:13 +08:00 via iPhone
    如果组内有人写出这样的代码我就打断他的腿🤓
    gamecreating
        8
    gamecreating  
       2017-04-19 19:45:52 +08:00
    有些人 总爱咬字 钻洞
    @bdbai
    @chunqiuyiyu
    Phariel
        9
    Phariel  
       2017-04-19 19:46:13 +08:00
    @IamJ #7 我会在开会的时候狠狠地喷这种人的,相信我
    lalalanet
        10
    lalalanet  
       2017-04-19 19:47:35 +08:00
    (function(){
    var a = b = 5;
    console.log(a); // 5
    console.log(b); // 5
    })();


    ----
    (function(){var a = b = 5;})();

    console.log(a); // error
    console.log(b); // error
    btjoker
        11
    btjoker  
       2017-04-19 20:02:05 +08:00
    a 未定义
    b 变成全局变量为 5
    现在敢在项目里这样写的, 坟头草都割了好几茬了
    bdbai
        12
    bdbai  
       2017-04-19 20:11:34 +08:00 via iPhone
    @gamecreating 观念问题。凭什么写 PHP 的要顺手把 js 也写了。
    hizoubin
        13
    hizoubin  
       2017-04-19 20:12:04 +08:00
    这样写不符合代码规范的 腿都要被打断
    johnnie502
        14
    johnnie502  
       2017-04-20 03:01:30 +08:00
    一道考 IIFE 的题,知道的就知道,不知道的就不知道,还不如直接问问啥事 IIFE
    jianzhiyao020
        15
    jianzhiyao020  
       2017-04-20 09:32:22 +08:00
    undefined
    5
    araraloren
        16
    araraloren  
       2017-04-20 09:39:31 +08:00
    ~~ 很讨厌 js 的变量提升,
    有 ES6 ~~
    let 一波。。
    qwe3364925
        17
    qwe3364925  
    OP
       2017-04-20 10:41:34 +08:00
    @hizoubin 哈哈哈哈, 我也是在面试题中看到的, 勿喷我
    byfar
        18
    byfar  
       2017-04-20 13:18:22 +08:00
    a:Uncaught ReferenceError: a is not defined
    at <anonymous>:1:1
    b:5

    我有控制台
    byfar
        19
    byfar  
       2017-04-20 13:20:49 +08:00
    对了,如果两行输出在一个 js 里,第一个报错,第二个也不执行了吧?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2866 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 12:31 · PVG 20:31 · LAX 04:31 · JFK 07:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.