ES6 Arrow Function & this bug
ES6 Arrow Function & this bug

let accHeadings = document.querySelectorAll(`.accordionItemHeading`); // NodeList(3)
// let accHeadings = [...document.querySelectorAll(`.accordionItemHeading`)];
for (let i = 0; i < accHeadings.length; i++) {
accHeadings[i].addEventListener("click", function(e) {
console.log(`this`, this);
console.log(`e.target`, e.target);
});
}
for (let i = 0; i < accHeadings.length; i++) {
// ES6 Arrow Function & this bug
accHeadings[i].addEventListener("click", () => {
console.log(`this`, this);
}, false);
}

<!DOCTYPE html>
<html lang="zh-Hans">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="author" content="xgqfrms">
<meta name="generator" content="VS code">
<title>ES6 Arrow Function & this bug</title>
</head>
<body>
<section>
<h1>ES6 Arrow Function & this bug</h1>
</section>
<section>
<h2 class="accordionItemHeading">About accordions</h2>
<h2 class="accordionItemHeading">Accordion items</h2>
<h2 class="accordionItemHeading">How to use a JavaScript accordion</h2>
</section>
<section>
<button class="btn">a</button>
<button class="btn">b</button>
<button class="btn">c</button>
</section>
<!-- js -->
<script>
let btns = [...document.querySelectorAll(`.btn`)];
btns.forEach((acc) => {
acc.addEventListener("click", function(e) {
console.log(`this`, this);
console.log(`e.target`, e.target);
});
});
let accHeadings = [...document.querySelectorAll(`.accordionItemHeading`)];
// for (let i = 0; i < accHeadings.length; i++) {
// accHeadings[i].addEventListener("click", function(e) {
// console.log(`this`, this);
// console.log(`e.target`, e.target);
// });
// }
for (let i = 0; i < accHeadings.length; i++) {
// ES6 Arrow Function & this bug
accHeadings[i].addEventListener("click", (e) => {
console.log(`this`, this);
console.log(`e.target`, e.target);
});
}
</script>
</body>
</html>
ES6 Arrow Function & this bug的更多相关文章
- vue & lifecycle methods & this bug & ES6 Arrow function & this bind bug
vue & lifecycle methods & this bug ES6 Arrow function & this bind bug bad fetchTableData ...
- ES6 Arrow Function All In One
ES6 Arrow Function All In One this const log = console.log; const arrow_func = (args) => log(`arg ...
- ES6 arrow function vs ES5 function
ES6 arrow function vs ES5 function ES6 arrow function 与 ES5 function 区别 this refs xgqfrms 2012-2020 ...
- ES6 Arrow Function return Object
ES6 Arrow Function return Object https://github.com/lydiahallie/javascript-questions/issues/220#issu ...
- ES6 arrow function
语法: () => { … } // 零个参数用 () 表示: x => { … } // 一个参数可以省略 (): (x, y) => { … } // 多参数不能省略 (): 当 ...
- [ES6] 06. Arrow Function =>
ES6 arrow function is somehow like CoffeeScirpt. CoffeeScript: //function call coffee = -> coffee ...
- [ES6系列-02]Arrow Function:Whats this?(箭头函数及它的this及其它)
[原创] 码路工人 大家好,这里是码路工人有力量,我是码路工人,你们是力量. 如果没用过CSharp的lambda 表达式,也没有了解过ES6,那第一眼看到这样代码什么感觉? /* eg.0 * fu ...
- vue watch & arrow function bug
vue watch & arrow function bug watch: { GeoJSON: function(newValue, oldValue) { log(`\n\n\nGeoJS ...
- ES6 new syntax of Arrow Function
Arrow Function.md Arrow Functions The basic syntax of an arrow function is as follows var fn = data ...
随机推荐
- Objective-C Loops
There may be a situation, when you need to execute a block of code several number of times. In gener ...
- Open edX 配置 O365 SMTP
配置LMS/Studio SMTP: 用到的文件如下:以下设置采用的root用户进行 /edx/app/edxapp/lms.env.json #|env文件 里包含一些功能开关 /edx/app/e ...
- freebsd安装snmp
pkg_add http://ip地址/pub/FreeBSD/ports/packages/Latest/net-snmp.tbzFetching http://ip地址/pub/FreeBSD/p ...
- Openjudge 1.13-21:最大质因子序列
总时间限制: 1000ms 内存限制: 65536kB 描述 任意输入两个正整数m, n (1 < m < n <= 5000),依次输出m到n之间每个数的最大质因子(包括m和n ...
- 洛谷 2299 Mzc和体委的争夺战
题目背景 mzc与djn第四弹. 题目描述 mzc家很有钱(开玩笑),他家有n个男家丁(做过前三弹的都知道).但如此之多的男家丁吸引来了我们的体委(矮胖小伙),他要来与mzc争夺男家丁. mzc很生气 ...
- css3 省略号
overflow: hidden; text-overflow: ellipsis; white-space: nowrap; 也无需给元素设置固定宽度!
- 立个单调栈flag
http://bestcoder.hdu.edu.cn/contests/contest_chineseproblem.php?cid=687&pid=1002
- shell 简单脚本 2
#!/bin/bash source /etc/profile APPLICATIONS_HOME="/cpic/cpicapp/cpic_analy/jars" APPLICAT ...
- iOS的设计备忘录/资源集合(新手快速开发)
iOS的设计备忘录 随着iOS7更新,风格走上扁平化,大部分iOS设计师及程序员都需要对自己的软件做相关调整,尺寸.Icon.UI等等,我在这里总结一下相关资料,以及提供一些关于iOS7设计素材. 一 ...
- python在d盘,robotframework引入seleniumlibrary报错
在*** setting*** 中引入库 Library SeleniumLibrary 报错 unknown seleniumlibrary library ,try to use quic ...