腾讯2015前端面试题
腾讯2015年春招题目
1.jquery ajax中都支持哪些数据类型?
$.ajax()函数依赖服务器提供的信息来处理返回的数据。如果服务器报告说返回的数据是XML,那么返回的结果就可以用普通的XML方法或者jQuery的选择器来遍历。如果见得到其他类型,比如HTML,则数据就以文本形式来对待。
通过dataType选项还可以指定其他不同数据处理方式。除了单纯的XML,还可以指定 html、json、jsonp、script或者text。
http://www.jquery.org.cn/jqapi/jQuery.ajax.html
2.下面哪些语句可以 在JS里判断一个对象oStringObject是否为String。
oStringObject instanceof String 对
typeof oStringObject == 'string' 错
oStringObject is String 错
JS 中值的类型分为原始值类型和对象类型。原始值类型包括 number, string, boolean, null 和 undefined;对象类型即 object。首先原始值类型它就不是对象。
typeof
'hello'
;
// 'string'
typeof
new
String(
'hello'
);
// 'object'
题意中说的oStringObject是一个对象,所以typeof oStringObject是object,这是题目狡猾的地方。
3.常见的浏览器端的存储技术有哪些?
cookie, localstorage, userData
cookie 是靠谱的浏览器都支持;localStorge 比 cookie 存的更多,获取更方便,而且存储内容不会随请求发送给服务器;session 虽然需要 cookie 支持(通常存放加密过的 sessionId),但是不在浏览器端存放主要信息,排除;IE 支持 userData 存储数据,但是基本很少使用到,除非有很强的浏览器兼容需求。
4.如何规避javascript多人开发函数重名问题。
根据不同的开发人员实现的功能,在函数名加前缀
每个开发人员都把自己的函数封装到类中,然后调用的时候即使函数名相同,但是因为是要类.函数名来调用,所以也减少了重复的可能性
5.下面有关html结构描述正确的有?
<ul> <li> </li> </ul> 对
<ol> <li> </li> </ol> 对
<dl><dt><dd></dd></dt></dl> 错
<table> <tr> <td></td> </tr> </table> 错
<li> 标签定义列表项目。
<li> 标签可用在有序列表 (<ol>) 和无序列表 (<ul>) 中。
<dl>标记定义了一个定义列表,定义列表中的条目是通过使用<dt>标记(“definition title”,定义标题)和<dd>标记(“definition description”,定义描述)创建的。<dt>给出了术语名,<dd>标记给出了术语的定义。
<table>代表表格</table>
<tr>代表表格中的一行</tr>
<td>代表表格中的一列</td>
dl是自定义列表(definition list)
dt用来定义列表中的项目
dd用来描述项目
1
2
3
4
5
6
|
<dl> <dt>计算机</dt> <dd>用来计算的仪器 ... ...</dd> <dt>显示器</dt> <dd>以视觉方式显示信息的装置 ... ...</dd> </dl> |
如上是w3c官方示例,显示结果大致为:
计算机
用来计算的仪器 ... ...
显示器
以视觉方式显示信息的装置 ... ...
7.在bootstrap中, 关于导航条,下列说法正确的是?
应该将被包裹的元素放到navbar-collapse类中 对
表单应该放置于navbar-form内 对
可以使用navbar-left和navbar-right来对齐导航条 对
可以使用navbar-fixed-top和navbar-fixed-bottom来将导航条固定到顶部或底部 对8.
8.以下是行内元素的有()?
块内元素 div , p , form, ul, li , ol, dl, form, address, fieldset, hr, menu, table 行内元素:span, strong, em, br, img , input, label, select, textarea, cite
9. 下面关于IE、FF下面脚本的区别描述对的是?
innerText IE支持,FIREFOX不支持 错
document.createElement FIREFOX支持,IE不支持 错
setAttribute('class','styleClass') FIREFOX支持,IE不支持 对
用setAttribute设置事件 FIREFOX不支持,IE支持 错
10. 下面有关javascript内部对象的描述,正确的有?
History 对象包含用户(在浏览器窗口中)访问过的 URL
Location 对象包含有关当前 URL 的信息
Window 对象表示浏览器中打开的窗口
Navigator 对象包含有关浏览器的信息
全对
Navagator:提供有关浏览器的信息
Window:Window对象处于对象层次的最顶层,它提供了处理Navagator窗口的方法和属性
Location:提供了与当前打开的URL一起工作的方法和属性,是一个静态的对象
History:提供了与历史清单有关的信息
Document:包含与文档元素一起工作的对象,它将这些元素封装起来供编程人员使用
11.假设当前屏幕分别率为1024×768,定义一个居中的占屏幕一半大小的表格的语句是? (以下全对)
<TABLE ALIGN=”CENTER” WIDTH=”50%”></TABLE>
<TABLE ALIGN=”CENTER” WIDTH=”512″></TABLE>
<DIV ALIGN=”CENTER”><TABLE WIDTH=”512″></TABLE></DIV>
<CENTER><TABLE WIDTH=”50%”></TABLE></CENTER>
12网页html文档支持的图片格式有jpg , gif , png 和 bmp 这四种,jpg , gif 和 png 格式的图片特点是体积很小,因为在网上很常见,然而 bmp就不常见了,因为这种格式虽然很清晰色彩丰富,但是所占内存很大,所以很少见,但是也是支持的。一共这4种。
13.
bootstrap中关于h标签
bootstrap中关于h标签
1
|
<h1>h1. Bootstrap heading <small>Secondary text</small></h1> |
以下说法正确的是?
<h1>最大
<small>表示副标题
14. 下面属于CSS3新增属性的有?
CSS3新增属性用法整理:
1、box-shadow(阴影效果)
2、border-color(为边框设置多种颜色)
3、border-image(图片边框)
4、text-shadow(文本阴影)
5、text-overflow(文本截断)
6、word-wrap(自动换行)
7、border-radius(圆角边框)
8、opacity(透明度)
9、box-sizing(控制盒模型的组成模式)
10、resize(元素缩放)
11、outline(外边框)
12、background-size(指定背景图片尺寸)
13、background-origin(指定背景图片从哪里开始显示)
14、background-clip(指定背景图片从什么位置开始裁剪)
15、background(为一个元素指定多个背景)
16、hsl(通过色调、饱和度、亮度来指定颜色颜色值)
17、hsla(在hsl的基础上增加透明度设置)
18、rgba(基于rgb设置颜色,a设置透明度)
15.问一份标准的HTML文档有哪几个必须的HTML标签?
<html><head><title><body>
16.请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。
Array.prototype.distinct = function() { var ret = []; for (var i = 0; i < this.length; i++) { for (var j = i+1; j < this.length;) { if (this[i] === this[j]) { ret.push(this.splice(j, 1)[0]); } else { j++; } } } return ret; } //for test console.log(['a','b','c','d','b','a','e'].distinct());
17.
请填充代码,使mySort()能使传入的参数按照从小到大的顺序显示出来。 function mySort() { var tags = new Array();//使用数组作为参数存储容器 请补充你的代码 return tags;//返回已经排序的数组 } var result = mySort(50,11,16,32,24,99,57,100);/传入参数个数不确定 console.info(result);//显示结果
function mySort(){ var tag = new Array() for( var i=0;i<arguments.length;i++){ tag.push(arguments[i]) } tag.sort(function(compare1,compare2){ return compare1-compare2; }) return tag; } var result = mySort(50,11,2,51,634,15) console.log(result)
18.用javascript实现用户登录验证的代码。
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0" /> <body> <form id="form1" action="" method="get"> <input name="text1" type="text" value="" placeholder="name"> <input type="password" name="pwd" placeholder="密码"> <input name="text3" value="submit" type="submit" onclick="subimtonclick()"> </form> <script language="JavaScript"> function subimtonclick(){ var form1=document.getElementById('form1'); if(form1.text1.value==""){ alert("用户名不能为空"); form1.text1.focus(); return; } if(form1.text1.value.length<6 || form1.text1.value.length>10){ alert("用户名不能少于六个字符,不能超过十个字符"); form1.text1.focus(); return; } if(form1.pwd.value==""){ alert("密码不能为空"); form1.pwd.focus(); return; } if(form1.pwd.value.length<6 || form1.pwd.value.length>10){ alert("密码不能少于六个字符,不能超过十个字符"); form1.pwd.focus(); return; } var str="用户名:"+form1.text1.value+"<br>"+ "密码:"+form1.pwd.value+"<br>"; document.writeln(str); } </script> </body> </html>