腾讯公司的javascript面试题2014-09-19今天整理自己的文件夹时,发现了曾经面试腾讯实习生时的被问挂了的面试题,我将它们整理好了供大家借鉴。当时要求的是手写代码。汗啊,我那时弱爆了!1,将给定数组转换为一个随机数组
Array.prototype.shuffle=function(){var resultArr=[];var len=this.length;while(len){var _index=parseInt(Math.random()*len);resultArr.push(this[_index]);//每次取得数组中一个字符,放到新的数组中for(var i=_index;i<len;i++){//后面的向前移动this[i]=this[i+1];}len--;}return resultArr;} var a=new Array("1","2","3","4","5","6"); alert(a.shuffle());2,统计给定字符串里的各个字符出现的次数
var a="aassdddffffffffggghhhjjjkkkll";function counts(str){var obj={};for(var i=0;i<str.length;i++){if(!obj[str[i]]){obj[str[i]]=1;}else{ obj[str[i]]++;}}return obj;}console.log(counts(a));//Object {a: 2, s: 2, d: 3, f: 8, g: 3…}3,判断js代码加载完成
function dynamicLoad(){ var _doc=document.getElementsByTagName("head")[0]; var script=document.createElement("script");script.setAttribute("type","text/javascript");script.setAttribute("src","jquery.js");_doc.appendChild(script);//非ieie,script.onload=script.onreadystatechange=function(){//非ie ie,该值不确定 if(!this.readyState||this.readyState=="loaded"||this.readyState=="complete"){ alert("done"); script.onload=script.onreadystatechange=null;}}}4,实现三列布局:
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" /><meta http-equiv="Content-Type" content="text/html; charset=gb2312"/><style>#side { background: #99FF99; height: 300px; width: 120px; float: left; }#main { background: #99FFFF; height: 300px; width: auto; margin-left: 120px; }#main-left{ background:red;float:left; width:200px; height:300px;}#main-right{ margin-left:200px; height:300px; width:auto;}</style></head><body><div id="side">此处为左边部分</div><div id="main"><div id="main-left">右边的左列</div><div id="main-right">右边的右列</div></div></body></html>作者:cnblogs 温伯