首页 > 其他 > 详细

大厂前端面试题

时间:2019-10-18 12:10:54      阅读:77      评论:0      收藏:0      [点我收藏+]

1、[单选题] 有以下 ES6 代码 

function * gen() { 
  yield 1;
  yield 2;
  yield 3; 
} 

下面选项描述正确的是哪个? 

A.gen()执行后返回 2

B.gen()执行后返回 undefined

C.gen()执行后返回一个 Generator 对象

D.gen()执行后返回 1

答案:C

提示:这是 ES6 的新 feature, function 后面带  * 的叫做 generator function。函数运行时, 返回一个迭代器。 

 

2、[不定项选择题] 语句 var arr=[a,b,c,d];执行后,数组 arr 中每项都是一个整数,下面得到其中最大整数语 句正确的是哪几项? 

A.Math.max(arr)

B.Math.max(arr[0], arr[1], arr[2], arr[3])

C.Math.max.call(Math, arr[0], arr[1], arr[2], arr[3])

D.Math.max.apply(Math,arr) 

答案:B C D 

提示: A 选项错误 

因为函数 Math.max(x);的参数是 Number 类型,可以使小数,整数,正数,负数或者是 0.如果不是上面所述类型就会返回 NaN. 

 

3、[问答题] 写一个 traverse 函数,输出所有页面宽度和高度大于 50 像素的节点。 

<script language="javascript">
  function traverse() {
    var arr = [];
    var elements = [];
    if (document.all) {
      elements = document.all;
    } else {
      elements = document.getElementsByTagName("*");
    }
    for (var i = 0; i < elements.length; i++) {
      var ele = elements[i];
      // width 返回的是字符串   offsetWidth 返回的是带边框的 Number 型的数字 
      var width = parseFloat(ele.style.width) || ele.offsetWidth;
      var height = parseFloat(ele.style.height) || ele.offsetHeight;
      if (width > 50 && height > 50) {
        arr.push(elements[i].tagName);
      }
    }
    return arr;
  }
  window.onload = function () {
    console.log(traverse());
    console.log("a");
    console.log(‘a‘);
  }
</script>

 

大厂前端面试题

原文:https://www.cnblogs.com/haishen/p/11697430.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!