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

四道腾讯的javascript面试题

2014-03-29 21:34 471 查看
今天整理自己的文件夹时,发现了曾经面试腾讯实习生时的被问挂了的面试题,我将它们整理好了供大家借鉴。当时要求的是手写代码。汗啊,我那时弱爆了!

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);
//非ie        ie,
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>


开心一刻:

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