qwe3364925
V2EX  ›  PHP

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

  •  
  •   qwe3364925 · Apr 19, 2017 · 4081 views
    This topic created in 3340 days ago, the information mentioned may be changed or developed.
    (function(){var a = b = 5;})();

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



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

    console.log('a b c ' + '1 2 3'.split(' ').map(parseInt)); // 输出什么?
    bdbai
        3
    bdbai  
       Apr 19, 2017 via Android
    js 跟 PHP 有什么关系
    chunqiuyiyu
        4
    chunqiuyiyu  
       Apr 19, 2017 via iPhone
    js 跟 PHP 有什么关系 +1
    iot
        5
    iot  
       Apr 19, 2017
    我 php 、 web 前端都做过全职
    jarlyyn
        6
    jarlyyn  
       Apr 19, 2017
    这种题目出出来的人应该被开除。
    IamJ
        7
    IamJ  
       Apr 19, 2017 via iPhone
    如果组内有人写出这样的代码我就打断他的腿🤓
    gamecreating
        8
    gamecreating  
       Apr 19, 2017
    有些人 总爱咬字 钻洞
    @bdbai
    @chunqiuyiyu
    Phariel
        9
    Phariel  
       Apr 19, 2017
    @IamJ #7 我会在开会的时候狠狠地喷这种人的,相信我
    lalalanet
        10
    lalalanet  
       Apr 19, 2017
    (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  
       Apr 19, 2017
    a 未定义
    b 变成全局变量为 5
    现在敢在项目里这样写的, 坟头草都割了好几茬了
    bdbai
        12
    bdbai  
       Apr 19, 2017 via iPhone
    @gamecreating 观念问题。凭什么写 PHP 的要顺手把 js 也写了。
    hizoubin
        13
    hizoubin  
       Apr 19, 2017
    这样写不符合代码规范的 腿都要被打断
    johnnie502
        14
    johnnie502  
       Apr 20, 2017
    一道考 IIFE 的题,知道的就知道,不知道的就不知道,还不如直接问问啥事 IIFE
    jianzhiyao020
        15
    jianzhiyao020  
       Apr 20, 2017
    undefined
    5
    araraloren
        16
    araraloren  
       Apr 20, 2017
    ~~ 很讨厌 js 的变量提升,
    有 ES6 ~~
    let 一波。。
    qwe3364925
        17
    qwe3364925  
    OP
       Apr 20, 2017
    @hizoubin 哈哈哈哈, 我也是在面试题中看到的, 勿喷我
    byfar
        18
    byfar  
       Apr 20, 2017
    a:Uncaught ReferenceError: a is not defined
    at <anonymous>:1:1
    b:5

    我有控制台
    byfar
        19
    byfar  
       Apr 20, 2017
    对了,如果两行输出在一个 js 里,第一个报错,第二个也不执行了吧?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4400 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 79ms · UTC 05:34 · PVG 13:34 · LAX 22:34 · JFK 01:34
    ♥ Do have faith in what you're doing.