前端刷题 Day2
Posted 白瑕
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端刷题 Day2相关的知识,希望对你有一定的参考价值。
文章目录
前言
只要每天都弄一点, 你就永远也赶不上大佬们)
一、html
今天全对)
二、CSS
关于下列 CSS 选择器:ID 选择器、类选择器、伪类选择器、标签名称选择器,排序正确的是:()
- ID 选择器 > Class 选择器 > 伪类=标签名称选择器
- ID 选择器 > 伪类 > Class 选择器 > 标签名称选择器
- ID 选择器 > Class 选择器 > 伪类 > 标签名称选择器
- ID 选择器 > Class 选择器 = 伪类 > 标签名称选择器
选D, 我又选了C!
这没什么好说的, 就是理论问题.
JS
每次刷JS题都让我感觉没学过JS.
下列正确定义函数的是
- var foo = new Function()
- function foo()
- Function foo()
- var foo = new function()
上去选了一个A, 错了, 然后发现B是对的.
A错在不该加大括号.
CD大小写有问题.
请问以下JS代码输出的结果是什么?
function f(x)
console.log(x);
var x = 200;
console.log(x);
f(a = 100);
console.log(a);
典;
- undefined、200、undefined
- 100、200、undefined
- 100、200、100
- undefined、200、100
选C, 我选择了D;
我应该想到a传进去第一个x就可以输出了, 但当时只想着
“我输出x和你传a有什么关系?”(
控制台打印的结果是?
for(let i=0;i<2;i++)
setTimeout(function()
console.log(i)
,100);
for(var i=0;i<2;i++)
setTimeout(function()
console.log(i)
,100);
- 0 1 2 2
- 0 1 0 1
- 0 1 1 1
- 1 1 0 0
这个题, 我刚看到时想的这是考察宏微任务, 然后还有异步
但是看到区别只有var和let之后就觉得没那么简单了, 块级作用域.
两个for最终都会因为setTiemout的异步而把输出放到最后统一执行, 但是因为let具有块级作用域, 所以let声明的i被赋予的每个值都会被输出, 而非像var一样暴露出来导致不断地覆盖, 所以let输出的值, 每个必不相同, 而var输出的必相同且会是1(犯蠢了, 应该是2), 那么只有C.
但是var的循环里当i等于1的时候其实还会执行一次, 只不过不会进一步for下去, 所以i最后将会是2.
总结
以上是关于前端刷题 Day2的主要内容,如果未能解决你的问题,请参考以下文章