首页 > 其他分享 >箭头函数的实践与应用场景

箭头函数的实践与应用场景

时间:2024-12-25 17:52:07浏览次数:3  
标签:function pink style 场景 函数 箭头 background setTimeout ad

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    div{
        width: 200px;
        height: 200px;
        background: #58a;
    }
</style>
<body>
    <div id="ad"></div>
</body>
<script>
    // 需求1 点击div2s后颜色变为粉色
    let ad=document.getElementById('ad');
    ad.addEventListener("click",function(){
        // 这样写报错:Cannot set properties of undefined (setting 'background') 因为this指向的window
        // setTimeout(function(){
        //     //修改背景颜色 this
        //     this.style.background='pink';
        // })
        // 解决方案1
        // let _this=this;
        // setTimeout(function(){
        //     //修改背景颜色 this
        //     _this.style.background='pink';
        // })
        // 解决方案2
        setTimeout(()=>{
            //修改背景颜色 this
            this.style.background='pink';
        })
    },2000)
    // 从数组中返回偶数
    const arr=[1,4,6,87,34,56];
    const result=arr.filter(item=>item%2==0);
    console.log(result)
    // 箭头函数适合this无关的回调,定时器,数组的方法回调
    // 箭头函数不适合this有关的回调,事件回调,对象的方法
</script>
</html>

 

<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title> </head> <style>     div{         width: 200px;         height: 200px;         background: #58a;     } </style> <body>     <div id="ad"></div> </body> <script>     // 需求1 点击div2s后颜色变为粉色     let ad=document.getElementById('ad');     ad.addEventListener("click",function(){         // 这样写报错:Cannot set properties of undefined (setting 'background') 因为this指向的window         // setTimeout(function(){         //     //修改背景颜色 this         //     this.style.background='pink';         // })         // 解决方案1         // let _this=this;         // setTimeout(function(){         //     //修改背景颜色 this         //     _this.style.background='pink';         // })         // 解决方案2         setTimeout(()=>{             //修改背景颜色 this             this.style.background='pink';         })     },2000)     // 从数组中返回偶数     const arr=[1,4,6,87,34,56];     const result=arr.filter(item=>item%2==0);     console.log(result)     // 箭头函数适合this无关的回调,定时器,数组的方法回调     // 箭头函数不适合this有关的回调,事件回调,对象的方法 </script> </html>

标签:function,pink,style,场景,函数,箭头,background,setTimeout,ad
From: https://www.cnblogs.com/wmqxlt/p/18631125

相关文章

  • 箭头函数的声明特点
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title><......
  • 面试场景题系列:分布式系统中的唯一ID生成器
    1.场景需求需求界定•ID必须是唯一的。•ID只包含数字。•ID长为64位。•ID按日期排序。•可以每秒生成超过10,000个唯一ID。2.高层级的设计在分布式系统中,有多个方法可以用来生成唯一ID。我们考虑的方法有:•多主复制(Multi-masterReplication)。•通用唯一标识符......
  • 【转载】通俗易懂!带你了解什么是场景化设计
    编辑导语:在进行产品设计时,常常都会说到“场景”一词,但是又和我们对于“场景”的理解不太一样。场景到底指什么?基于场景化的设计又该如何做呢?一起来看一下吧。在产品设计中,我们经常会听到这些声音,“这个设计没有考虑用户的使用场景”“用户行为和场景不匹配”……每个人都有说......
  • 【甲方安全】政府行业+80个威胁检测与安全事件分析场景(2025)
    本篇幅详细梳理了80个在政企网络安全分析中常见的应用场景,这些场景涵盖了从攻击前兆(如漏洞扫描、情报收集)、攻击过程(如漏洞利用、横向移动)到攻击结果(如数据加密、信息泄露)的各个阶段,旨在协助SOC分析师们更好地构建主动防御体系。这些场景并非抽象概念,而是来源于日常安全运营中......
  • 回调函数
    1.定义:回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。普通函数:Main(){voidA();voidB();}回调函数不同点:B方法的执行时间点与触发方式。具体的实现利用委托。Main(){voidA(B);}2.回调模式的优点......
  • C++ 构造函数最佳实践
    @目录1.构造函数应该做什么1.1初始化成员变量1.2分配资源1.3遵循RAII原则1.4处理异常情况2.构造函数不应该做什么2.1避免做大量的工作2.2不要在构造函数中调用虚函数2.3避免在构造函数中执行复杂的初始化逻辑2.4避免调用可能抛出异常的代码3.构造函数的其他最佳实践3......
  • 只谈C++11新特性 - 显式虚函数重写
    显式虚函数重写背景说明在C++11之前,C++的虚函数机制虽然非常强大,但也带来了一些潜在问题。特别是对于大型代码库,当派生类需要重写基类的虚函数时,可能会因为疏忽而引入错误:拼写错误:如果派生类的函数签名不完全匹配基类的虚函数签名,那么派生类的函数并不会覆盖基类的......
  • 继承中的构造函数
    基本概念当申明一个子类对象时,先执行父类的构造函数,然后再执行子类的构造函数子类可以通过base调用父类构造函数继承中的构造函数执行顺序ClassGameObject{publicGameObject(){Console.WriteLine("GameObject的构造函数")}}ClassPlayer:Ga......
  • deque容器/构造函数/赋值操作/大小操作/插入和删除/数据存取/排序
    deque容器基本概念功能:双端数组,可以对头端进行插入删除操作deque与vector区别:vector对于头部的插入删除效率低,数据量越大,效率越低deque相对而言,对头部的插入删除速度会比vector块vector访问元素时的速度会比deque快,这和两者内部实现有关deque内部工作原理:deque内部有个中......
  • [学习笔记] 线性筛与欧拉函数
    一线性筛主要讲下思想,埃氏筛法就是用所有质数标记所有倍数,这样的时间复杂度是\(O(n\logn\logn)\),有两只\(\log\)。可是我不想要\(\log\),于是欧拉筛:改进:存下质数表。对于每一个数,只标记自己与不超过自己最小质因子的数的乘积,对于质数表\(2,3,5\),循环到\(i=6\)时,只筛去\(......