前端面试—腾讯云

162 阅读1分钟
  • 变量提升
    var i = 1;
    function fun() {
    	console.log(i);
        var i = 2;
    }
    fun();
    
  • 闭包
    function test() {
    	var arr = [];
        for (var i = 0; i < 5; i++) {
        	arr[i] = function() {
            	document.write(i+ " ");
            }
        }
        return arr;
    }
    
    var Arr = test();
    for(var j = 0; j < 5; j++) {
    	Arr[j]();
    }
    // 打印10个5,如果想打印0~4应该怎么写?
    
  • 原型链
    var F = function() {};
    Object.prototype.a = function() {
    	console.log("a()");
    };
    Object.prototype.b = function() {
    	console.log("b()");
    };
    var f = new F();
    F.a();  // a()
    F.b();  // b()
    f.a();  // a()
    f.b();  // Uncaught TypeError: f.b is not a function 
    
  • 找出数组中的最大值(二分查找,sort排序,for循环)
  • Math.max(),Math.max.apply(null,arr);
  • sort函数,原生实现
  • call和apply的区别
  • map函数,如果让你原生实现map函数怎么实现
  • 数组扁平化→reduce,具体如何实现
  • flex: 0 1 auto代表什么意思
  • 对标签语义化的理解
  • BFC
  • 清除浮动的方法:display: table;→display: table; 和 display: block;有什么区别;
  • 对响应式布局的理解
  • 栅格系统是如何实现的,让你做这样一个组件实现电脑手机兼容你会怎么做