Loading... <p><img src="https://www.xxhzm.cn/usr/uploads/2021/10/2011546137.png" alt="LDB(%)9BDE{E)(M5T[$`CO7.png" title="LDB(%)9BDE{E)(M5T[$`CO7.png"style=""></p><h2>箭头函数的this特性</h2><ol><li>箭头函数没有自己的this对象。这里说的没有指的是箭头函数本身无法有效的使用this,它指向的永远是自己的父作用域</li><li>箭头函数的this永远指向其父作用域。在没有规划父级作用域的情况下,执行代码中最高级别的,也就是window</li><li>任何方法都改变不了this,包括call,apply,bind</li><li>不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。</li><li>不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用Rest参数代替。</li><li>不可以使用yield命令,因此箭头函数不能用作Generator函数。</li></ol><p>需求一: 该蓝色div点击之后 2s之后颜色更改成粉色</p><p>使用原版的this写法:</p><pre><code>cont.addEventListener('click', function() { let _this = this; setTimeout(() => { this.style.background = "pink"; console.log(this); }, 2000) }) </code></pre><p>需要在第二行处定义一个this指向cont,如果不定义this的话会指向window,而不是cont<br>ES6箭头函数写法:</p><pre><code>cont.addEventListener('click', function() { setTimeout(() => { this.style.background = "pink"; console.log(this); }, 2000) }) </code></pre><p>在延时器处使用箭头函数,这时里面的this会指向外面一层的cont<br><img src="https://www.xxhzm.cn/usr/uploads/2021/10/2011546137.png" alt="LDB(%)9BDE{E)(M5T[$`CO7.png" title="LDB(%)9BDE{E)(M5T[$`CO7.png"style=""></p> 猜你想看 每日一学:PHP 中的 array_keys函数详解 免费获取亚马逊国外云桌面的保姆级流程 每日一学:PHP 中的array_diff函数详解 jQuery事件 nuxt3中文官网nuxt3是一个基于Vue.js的静态站点生成器和应用程序框架 JS使用reduce求和 每日一学:PHP 中的array_merge_recursive函数详解 Vue学习小案例 PHP函数的定义及使用 Vue插槽 最后修改:2022 年 06 月 05 日 © 允许规范转载 赞 0 如果觉得我的文章对你有用,请随意赞赏
3 条评论
11111
太好用了谢谢博主 博主好人一胎九子!!!!!
你真是个好人啊