前端刷题 Day2

Posted 白瑕

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端刷题 Day2相关的知识,希望对你有一定的参考价值。

文章目录


前言

只要每天都弄一点, 你就永远也赶不上大佬们)


一、html

今天全对)


二、CSS

关于下列 CSS 选择器:ID 选择器、类选择器、伪类选择器、标签名称选择器,排序正确的是:()

  1. ID 选择器 > Class 选择器 > 伪类=标签名称选择器
  2. ID 选择器 > 伪类 > Class 选择器 > 标签名称选择器
  3. ID 选择器 > Class 选择器 > 伪类 > 标签名称选择器
  4. ID 选择器 > Class 选择器 = 伪类 > 标签名称选择器

选D, 我又选了C!
这没什么好说的, 就是理论问题.


JS

每次刷JS题都让我感觉没学过JS.

下列正确定义函数的是

  1. var foo = new Function()
  2. function foo()
  3. Function foo()
  4. 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);

典;

  1. undefined、200、undefined
  2. 100、200、undefined
  3. 100、200、100
  4. 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);

  1. 0 1 2 2
  2. 0 1 0 1
  3. 0 1 1 1
  4. 1 1 0 0
    这个题, 我刚看到时想的这是考察宏微任务, 然后还有异步
    但是看到区别只有var和let之后就觉得没那么简单了, 块级作用域.
    两个for最终都会因为setTiemout的异步而把输出放到最后统一执行, 但是因为let具有块级作用域, 所以let声明的i被赋予的每个值都会被输出, 而非像var一样暴露出来导致不断地覆盖, 所以let输出的值, 每个必不相同, 而var输出的必相同且会是1(犯蠢了, 应该是2), 那么只有C.
    但是var的循环里当i等于1的时候其实还会执行一次, 只不过不会进一步for下去, 所以i最后将会是2.

总结

以上是关于前端刷题 Day2的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode刷题笔记-数据结构-day2

LeetCode刷题笔记-动态规划-day2

LeetCode刷题笔记-动态规划-day2

LeetCode刷题笔记-动态规划-day2

2017北京国庆刷题Day2 afternoon

leetcode刷题day2