《JavaScript骚操作大全(100条完整版)》(节选续更)

548 阅读3分钟

四、对象篇:老板看了想加薪(续)

  1. ​对象解构の黑吃黑​

    javascript
    复制
    const { 老板: 周扒皮, 工资: 空气币 } = 公司;
    // 建议配合劳动仲裁API使用
    
  2. ​动态属性名の七十二变​

    javascript
    复制
    const 技能 = {
        [摸鱼时间 > 8 ? '工资回收计划' : '福报模式']: '已激活'
    };
    
  3. ​Object.keysの照妖镜​
    Object.keys(年终奖).length === 0
    当代年轻人年度恐怖片第一名(建议拍成《消失的奖金》)

  4. ​JSON.stringifyの临终关怀​

    javascript
    复制
    JSON.stringify(程序员, (key, value) => 
        key === '头发' ? 'null' : value
    );
    
  5. ​对象密封の粽子大法​
    Object.seal(需求文档);
    效果:改需求时提示"您试图修改只读属性",建议给产品经理电脑全局配置


五、异步篇:让bug坐过山车

  1. ​setTimeoutの量子纠缠​
    setTimeout(()=>{}, 0)
    你以为它是立即执行?不,它在等你上厕所时触发

  2. ​async/awaitの狗血剧情​

    javascript
    复制
    async function 等外卖() {
        const 外卖 = await 饿了吗.下单();
        return 外卖.状态 === '洒了' ? '投诉' : '五星好评';
    }
    
  3. ​Promise.raceの职场内卷​

    javascript
    复制
    Promise.race([摸鱼任务, 紧急需求])
        .then(结果 => 结果 === 摸鱼任务 ? '开除' : '继续加班');
    
  4. ​事件循环の修罗场​
    宏任务:皇帝翻牌子
    微任务:紧急奏折
    (建议给setTimeout发冷宫令牌)

  5. ​fetch请求の求生指南​

    javascript
    复制
    fetch('涨薪接口')
        .catch(() => {
            throw new Error('您的权限不足,请联系老板的情人');
        });
    

六、DOM篇:让UI小姐姐尖叫(续)

  1. ​createElementの女娲造人​

    javascript
    复制
    document.createElement('div'); // 造个普通凡人
    document.createElement('bug'); // 造出克苏鲁邪神
    
  2. ​classList.toggleの渣男操作​
    按钮.classList.toggle('active')
    像极了"爱你"↔"爱过"的无缝切换

  3. ​IntersectionObserverの暗中观察​

    javascript
    复制
    new IntersectionObserver(entries => {
        if(entries[0].isIntersecting) {
            console.log('老板正在背后看你屏幕!');
        }
    });
    
  4. ​canvas画图の灵魂画手​

    javascript
    复制
    ctx.fillStyle = '#FF0000';
    ctx.fillRect(0,0,100,100); // 画个红方块
    // 产品经理:我想要会动的蒙娜丽莎
    
  5. ​audio播放の社死开关​

    javascript
    复制
    const 笑声 = new Audio('尴尬.mp3');
    按钮.onclick = () => 笑声.play(); // 年会抽奖必备
    

七、工具函数篇:npm install 一切

  1. ​Math.randomの玄学抽奖​

    javascript
    复制
    const 年会奖品 = ['空气', '加班券', '老板的鼓励'][
        Math.floor(Math.random() * 3)
    ];
    
  2. ​Date对象の时间刺客​

    javascript
    复制
    new Date().getTime(); // 获取时间戳
    new Date(程序员).getTime(); // 获取植发预约时间
    
  3. ​isNaNの哲学三问​
    isNaN('我是数字吗') → true
    像极了产品经理的需求评审会

  4. ​encodeURIComponentの祖安密码​

    javascript
    复制
    encodeURIComponent('涨薪=不可能');
    // 输出:%E6%B6%A8%E8%96%AA%3D%E4%B8%8D%E5%8F%AF%E8%83%BD
    
  5. ​console.tableの凡尔赛​

    javascript
    复制
    console.table([{存款:0, 房贷:200万}]);
    // 输出效果:伤害性不大,侮辱性极强
    

(篇幅限制,完整100条请移步评论区置顶链接,或搜索公众号【前端摆烂协会】回复"求求你别卷了"获取。免责声明:学习本文可能导致同事笑到工伤,建议自费购买防喷水键盘!)