关于前端面试的问题集锦

以下是我最近在面试的时候,面试官问到的问题,我想发出来共同分享,如果大家有好的方法解决问题,可以互相分享!

1.给你一个8*8的格子,然后在里面随机用不同的颜色填充他们,比如有红,绿,蓝这三种颜色,然后他们的顺序是打乱的,要求从中将红色和绿色的表格中的文字互换(红色和绿色表格数量相同),我的解决方法如下:

        var tds = document.getElementById('table').getElementsByTagName('td')
        var reds = [], gres = []
        for(let i=0; i<tds.length; i++) {
            if(tds[i].style.backgroundColor == 'red'){
                reds.push(tds[i])
            }else if(tds[i].style.backgroundColor == 'green') {
                gres.push(tds[i])
            }
        }
        for(let i=0; i<reds.length; i++) {
            var str = ''
            str = reds[i].innerText
            for(let j=0; j<gres.length; j++) {
                if(i == j) {
                    reds[i].innerText = gres[j].innerText
                    gres[j].innerText = str
                }
            }
        }

2.关于jsonp跨域的问题

       var script = document.createElement("script");
        script.src = "https://api.douban.com/v2/book/search?q=javascript&count=1&callback=handleResponse";
        document.body.insertBefore(script, document.body.firstChild);
        console.log(document.body.firstChild)
        function handleResponse(response) {
            console.log(response)
        }

3.让sum(2)(3)和sum(2,3)都可以执行得出5的公共函数

  function sum() {
            var num = arguments[0]
            if(arguments.length == 2) {
                return arguments[0]+arguments[1]
            }else{
                return function (arg) {
                    return num + arg
                }
            }
        }

原文地址:https://www.cnblogs.com/shenwh/p/8605541.html