【发布时间】:2019-03-22 23:49:53
【问题描述】:
对不起,如果这些问题是 JS 的基础知识之一。
问题 1。
我正在尝试让代码检测外部数组内部的内部数组,
而数组的结构是这样的;
var array = ['Bob', ['Tim', 'Katy', 'Zoe'], 'Jimmy', 'Jay' . . .]
<div>
<ul>
<li>name goes here</li>
<li>name goes here</li>
<li>name goes here</li>
<li>name goes here</li>
<li>name goes here</li>
<li>name goes here</li>
</ul>
</div>
const peeps = ['Bob', ['Tim', 'Katy', 'Zoe'], 'Jimmy', 'Jay', 'Louis', 'Yagami Light'];
$('div ul li').on('mouseenter', function() {
for (i = 0; i < peeps.length; i++) {
if (peeps[i][] in peeps[i] == true) {
console.log('wow')
}
}
})
这是我迄今为止的进步,但从来没有像我预期的那样工作。
问题 2。
我坚持从箭头函数中获取 this 关键字。
$('div ul li').on('mouseenter', () => {
var a = $(this).index();
console.log(a);
})
此代码出于某种原因一直显示 -1,但在将 () 更改为 function() {} 后,代码会按我的意愿打印 1、2、3、4。
有人知道为什么=> 函数无法从该代码中获取this 关键字吗?
任何提示或信息都可以很好地解决我的问题。
谢谢。
【问题讨论】:
-
第二个问题完全是stackoverflow.com/questions/34361379/…的欺骗
-
请不要在 1 中提出 2 个问题。请更新您的问题以删除第二部分并在需要时提出第二个问题(尽管您已经有一个重复的问题)。
-
@freedomn-m 我认为如果我一一提出所有问题,这可能是垃圾邮件,抱歉。
标签: javascript jquery arrays function anonymous