您的位置:首页 > Web前端 > JavaScript

两道Javascript-前端面试题

2017-02-24 16:24 411 查看

第一题

请完成一个函数,接受字符串str,返回一个相对应的json对象。(例如str=”aa.bb.cc”,函数返回{“aa”:{“bb”:{“cc”:{}}}} )

function getJson(str) {
let strArr = str.split('.');
let getObj = function(obj, index) {
obj[strArr[index]] = {};
if (index !== strArr.length - 1){
getObj(obj[strArr[index]], ++index);
}

return obj;
};

let obj = getObj({}, 0);

return obj;
}


第二题

假设已知一个函数

function isPass() {



return true/false;

}

请完成函数function X() {…}

使得当我在main函数中调用X()时,在控制台打印出这样的一段话

try to run isPass for 1 times, fail, wait for 10 seconds to try again…

try to run isPass for 2 times, fail, wait for 15 seconds to try again…

try to run isPass for 3 times, fail, wait for 20 seconds to try again…



try to run isPass for n times, succeed, over!

function x() {
var times = arguments[0] || 1;
if(isPass()) {
console.log(`try to run isPass for ${times} times, succeed, over!`);
} else {
console.log(`try to run isPass for ${times} times, fail, wait for ${10 + times * 5} to try again...`);
setTimeout(() => {
times++;
x(times);
}, (1 * times) * 1000);
}
}

function isPass() {
return true/false;
}

function main() {
x();
}

main();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  前端 面试题