码迷,mamicode.com
首页 > 其他好文 > 详细

腾讯前端笔试题整理

时间:2015-09-04 21:12:15      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:

1.js中“5”+4=?

答案:“54”

2.js中void(0)=?

答案:undefined

评:这个在a的href 中可以使用javascript:void(0);

如果使用href=”#”,包含了一个位置信息.默认的锚是#top,也就是网页的上端,当连续快速点击此链接时会导致浏览器巨慢甚至崩溃。
javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。 
javascript:;好些,javascript:void(0);据说某些情况下有浏览器兼容bug。(此点bug我也不知道什么时候能出现,知道的童鞋请指教)。

3.js中NaN*4=?

答案:NaN

评:NaN是强制类型转换,表示非数字,任何类型的数(包括null ,undefined,number)与NaN做运算,结果都是NaN

但是: string类型的与NaN做“+” 运算则转换为string ,而做"*"运算,则结果为NaN.

eg :

"test" + NaN = "testNaN"
"test"  * NaN = NaN

4.js中null*4.5=?

答案:0

评:用typeof null 居然是object,不是很明白。。。下次再详解

注 : string + 任何类型 = string类型 

5.js中alert(5*015===5.075)结果?原因?

答 :false啊,这题怪怪的,估计写错了

6.js中13>>2=? -13>>2=?

答: 13 >> 2 = 3 , -13 >> 2 = -4

评: 左移(<<) 和 右移(>>) ,左移乘以2的次幂,右移除以2的次幂(原则都是往小里算)

7.js中13|5=? 13&5=?

答:13 | 5 = 13 ,13 & 5 = 5;

评:&&与||都有短路左移,&& 优先级高于 ||。

 a() && b() :如果执行a()后返回true,则执行b()并返回b的值;如果执行a()后返回false,则整个表达式返回a()的值,b()不执行;
a() || b() :如果执行a()后返回true,则整个表达式返回a()的值,b()不执行;如果执行a()后返回false,则执行b()并返回b()的值;


8.js中怎么获取当前日期的月份

答: new Date().getMonth() + 1;

评: js中Date对象的考察,另外要注意的是getMonth()函数起始值是0,所以要获取当前的月份数需要+1

Date :

Date() 返回当日的日期和时间。
getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。
getMonth() 从 Date 对象返回月份 (0 ~ 11)。
getFullYear() 从 Date 对象以四位数字返回年份。
getYear() 请使用 getFullYear() 方法代替。
getHours() 返回 Date 对象的小时 (0 ~ 23)。
getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。
getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。
getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。
getTime() 返回 1970 年 1 月 1 日至今的毫秒数。
parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。
setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。
setMonth() 设置 Date 对象中月份 (0 ~ 11)。
setFullYear() 设置 Date 对象中的年份(四位数字)。
setHours() 设置 Date 对象中的小时 (0 ~ 23)。
setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。
setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。
setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。
setTime() 以毫秒设置 Date 对象。
toString() 把 Date 对象转换为字符串。
toTimeString() 把 Date 对象的时间部分转换为字符串。
toDateString() 把 Date 对象的日期部分转换为字符串。
toLocaleString() 根据本地时间格式,把 Date 对象转换为字符串。
toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。
toLocaleDateString() 根据本地时n间格式,把 Date 对象的日期部分转换为字符串。
valueOf() 返回 Date 对象的原始值。

 

9.js中数组排序方法是?该方法实现了?的排序算法

答: sort,利用的是冒泡排序的思想

评: sort是带参数的

eg : var a = [ 2, 10, 5, 34];

a.sort();   //结果是:[10, 2, 34, 5]

a.sort(function(n1,n2) { return n1 -n2 } ); //从小到大排序,结果是[2,5,10,34]

a.sort(function(n1,n2) { return n2 - n1 }) ; //从打到小的排序,结果是[34,10,5,2]

a.reverse();  //reverse是将数组反置

10.js中怎么判断chrome浏览器?

答: 

window.navigator.userAgent.search("Chrome") > 0  ? true : false; 

评:考察navigator对象

 

属性描述
appCodeName 返回浏览器的代码名。
appMinorVersion 返回浏览器的次级版本。
appName 返回浏览器的名称。
appVersion 返回浏览器的平台和版本信息。
browserLanguage 返回当前浏览器的语言。
cookieEnabled 返回指明浏览器中是否启用 cookie 的布尔值。
cpuClass 返回浏览器系统的 CPU 等级。
onLine 返回指明系统是否处于脱机模式的布尔值。
platform 返回运行浏览器的操作系统平台。
systemLanguage 返回 OS 使用的默认语言。
userAgent 返回由客户机发送服务器的 user-agent 头部的值。
userLanguage 返回 OS 的自然语言设置。

 

11.js中var b=”hello”;a=b; 怎么显示出a的值(貌似这题最简单了)

答: 不明白这题考的是什么

12.根据以下xml请写出对应的json(原题写成一行,这里我改成标准xml的显示了)

答:要求xml,虽然不是很会,但是只要将"="左边的当成key值,"="右边的当成value就好了。

13.js中怎么把十进制数123转化成二进制数?

答:

function toBinary ( val )
{
    var binary = "";
    do 
     {
         binary = val % 2 + binary ;
         val =  parseInt ( val / 2 );
    }
    while ( val > 1)
    binary = val + binary; 
    return parseInt(binary)
}

14.js中怎么才能按下回车键可以提交

答: 

document.onkeydown = function( ev )
{
   var event = ev || event ;
   if ( event.keyCode == 13 )
   {
      //do something
   }
}  

评: 键盘事件相应,当然还有事件对象event的兼容

  编程题

1.js中var s=”tencent is sb”,编写js使其变成tencent1 is2 sb3

答:

function change ( str )
{
    var arr = str.split(" ");
    var resultArr =[];
    for ( var i = 0 ; i < arr.length ; i++)
    {
        resultArr.push( arr[i] + (i+1) + "");
    }
  return  resultArr.join(" ");                                                                                                                                                                                                                       
}

2.编写js的类,使其拥有public和private类型的属性和方法

//首先声明,js中没有类这个概念哈,用的只是构造混合模式下的:构造函数+prototype形式
//构造函数中的属性和方法都是私有的
function Test ( args1, args2,args3)
{
   this.args1 = args1;
   this.args2 = args2;
   this.args3 = args3;
   this.fn = function() {}
}
Test.prototype.args4 = "我是共有的";
Test.prototype.fn = function() { 
   //我是公有的方法
}

//多写两句
关于继承
Test2继承于Test
function Test2(arg1,arg2,arg3 ,arg4)
{
  Test.call(this, arg1,arg2,arg3);
this.arg4 = arg4; //子类的新属性

}
Test.prototype = new Test();

3.给定http://id.qq.com/125125,请说出请求头,相关的报文信息(想想httpwatch工具抓包的内容)

答: 

请求头部: 

Host : id.qq.com

Origin : http:// id.qq.com

Referer : http://id.qq.com/125125

评:

请求头部

请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息,典型的请求头有:

User-Agent:产生请求的浏览器类型。

Accept:客户端可识别的内容类型列表。

Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。

Accept: application/json, text/javascript, */*; q=0.01
Accept-Encoding: gzip, deflate
Accept-Language:zh-CN,zh;q=0.8
Connection:keep-alive
Content-Length:0
Content-Type:application/json
Cookie:__gads=ID=ed1fcec11020e105:T=1441114370:S=ALNI_MYF-l5tzoS-I5CxTgPc0FR27707oA; .CNBlogsCookie=C66DF5F61539E6BD6A022586096B07166B9F2EFEF90D79352762C8DC689B3AC27C253F040B3C6D0F21B85D48F26086A2DB70444AE8C38357FF076724428A34C956B06ECC48F70DAC52F397425A2BDC321A852B00; SyntaxHighlighter=javascript; _gat=1; _ga=GA1.2.317876818.1441114370; SERVERID=9b2e527de1fc6430919cfb3051ec3e6c|1441369787|1441369726
Host: i.cnblogs.com
Origin:http://i.cnblogs.com
Referer:http://i.cnblogs.com/EditPosts.aspx?postid=4781872&update=1
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36
X-Requested-With:XMLHttpRequest

HTTP响应也由三个部分组成,分别是:状态行、消息报头、响应正文。

Cache-Control:private, s-maxage=0
Connection:keep-alive
Content-Length:11
Content-Type:application/json; charset=utf-8
Date:Fri, 04 Sep 2015 12:29:47 GMT
Set-Cookie:SERVERID=9b2e527de1fc6430919cfb3051ec3e6c|1441369787|1441369726;Path=/
X-AspNet-Version:4.0.30319
X-AspNetMvc-Version:5.1
X-Frame-Options:SAMEORIGIN
X-Powered-By:ASP.NET
X-UA-Compatible:IE=10

4.说出一些常用的网络优化工具

答:论坛,QQ群,博客,友情链接平台,微博,邮箱

面试官问的题

1.css的样式在不同类型的浏览器之间的显示差异如何解决

2.在css中用一行css代码实现在不同类型的浏览器(如IE6,IE7,IE8)之间显示出不同的样式

3.页面上有左中右三列,左右两列列宽固定,中间列自适应,要求纸上手写代码

腾讯前端笔试题整理

标签:

原文地址:http://www.cnblogs.com/shixiaomiao/p/4781872.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!