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