龙空技术网

「前端」依次点击4个li标签,哪一个选项是正确的运行结果

前端面试宝典 436

前言:

现在各位老铁们对“js遍历li”大概比较珍视,小伙伴们都想要剖析一些“js遍历li”的相关知识。那么小编在网络上搜集了一些关于“js遍历li””的相关内容,希望同学们能喜欢,看官们一起来了解一下吧!

现有如下html结构

运行如下代码:

依次点击4个li标签,哪一个选项是正确的运行结果()?

A、依次弹出1,2,3,4

B、依次弹出0,1,2,3

C、依次弹出3,3,3,3

D、依次弹出4,4,4,4

此题主要考察JavaScript闭包跟for循环知识点。

闭包是JavaScript的难点

各种专业文献上的"闭包"(closure)定义非常抽象,很难看懂。我的理解是,闭包就是能够读取其他函数内部变量的函数。

由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成"定义在一个函数内部的函数"。

所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。

通过生成作用域链可以看出,该匿名函数是没有自己的活动变量的,i实际上是匿名函数的上层作用域,所以匿名函数正能读取i的最终值。值得注意的是匿名函数!=闭包

闭包函数允许引用父函数的变量,但是该变量是最终值。故答案为D

标签: #js遍历li #html中li标签的作用