腾讯前端题面试题(一)及答案

眼看暑假快要结束了,忙碌的面试准备马上要开始了,加油,gogofighting


1. 请实现,鼠标点击页面中的任意标签,alert该标签的名称.(注意兼容性)

关键点:target.tagName 组织冒泡事件:e.stopPropagation 或return false;


2.请指出一下代码的性能问题,并进行优化.

var info="腾讯拍拍网(www.paipai.com)是腾讯旗下知名电子商务网站。";  
     info +="拍拍网于2005年9月12日上线发布,";  
     info +="2006年3月13日宣布正式运营,";  
     info +="是目前国内第二大电子商务平台。";  
     info=info.split(",");  
     for(var i=0; i<info.length; i++)  
      {  
         alert(info[i]);  
      }  

个人观点: 字符串的累加,+=会先创建一个临时字符串,相加后再赋值给info,每个字符串都会使用一个小的内存片段,过多的内存片段会影响性能。 另外,建议将数组的长度缓存到临时变量里面


3.请给出异步加载js方案,不少于两种。

1.defer属性 只支持IE 2.async属性  HTML5 3.创建script节点


4.请写出绑定事件的方法,不少于两种。

1.$dom.bind("click", function(){}); 2.$dom.click(function(){});


5.请设计一套方案,用于确保页面中加载完全。

在回调里继续加载下一个js直到js加载完

function loadScript(url, callback){ 
  var script = document.createElement_x("script") 
  script.type = "text/javascript"; 
  if (script.readyState){ //IE 
    script.onreadystatechange = function(){ 
      if (script.readyState == "loaded" || script.readyState == "complete"){ 
        script.onreadystatechange = null; 
        callback(); 
      } 
    }; 
  } else { //Others: Firefox, Safari, Chrome, and Opera 
    script.onload = function(){ 
    callback(); 
  }; 
} 
script.src = url; 
document.body.appendChild(script); 
} 

6.请优化某网页的加载速度。

 1) 静态资源使用cdn加速

 2) 使用CSS精灵技术:所有Tenerife图片都是一张大图片,使用CSS控制坐标

 3) 合并并且压缩js/css

 4) 页面懒加载(类似于音悦台,淘宝)

 5) 使用giz压缩文本和图片

 7) 使用 Progressive JPEGs:在装入图像时,开始只显示一个模糊的图像,随着数据的装入,图像逐步变得清晰.

 7.对string对象进行扩展,使其具有删除前后空格的方法。


 String.prototype.trim=function(){
      return this.replace(/(^\s*)|(\s*$)/g, "");
   }


8. 完成一个正则表达式,验证用户输入是否身份证号码。

 /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/


猜你喜欢

转载自blog.csdn.net/hacke2/article/details/38278963
今日推荐