如何写论文?写好论文?免费论文网提供各类免费论文写作素材!
当前位置:免费论文网 > 美文好词 > 试题答案 > 前端面试题

前端面试题

来源:免费论文网 | 时间:2017-07-04 05:50 | 移动端:前端面试题

篇一:前端面试题整理js篇

1.列举BOM中常用的几个全局变量和全局方法

全局对象:window

全局变量:document location history navigator screen

全局方法:alert() confirm() prompt() open() close()

2.在js中如何创建一个对象

var p1 = {name:”Tom”,age:12}

function Person(name,age){

this.name = name;

this.age = age;

}

var p2 = new Person(“jack”,14);

3.在js中获取对象属性

var age = p1.age;

var age = p1[‘age’];

4.谈谈ajax技术

Ajax 的原理简单来说通过 XmlHttpRequest 对象来向服务器发异步请求,从服

务器获得数据,然后用 javascript 来操作 DOM 而更新页面的局部显示。

Ajax优点:

1.最大的一点是页面无刷新,给用户的体验非常好。

2.使用异步方式与服务器通信,不需要打断用户操作,具有更加迅速的响应能力。

3.ajax 的原则是“按需取数据”,最大程度的减少冗余请求,减少服务器的负荷。 Ajax缺点:

1.破坏浏览器后退按钮的正常行为。在动态更新页面后,用户无法回到前一个页面的状态.

2.使用 JavaScript 作 Ajax 的引擎,JavaScript 的兼容性和 Debug 本身就让人头大。

5.你觉得jquery有哪些好处

jQuery 是轻量级的 javascript 框架 强大的选择器

出色的 DOM 操作的封装

可靠的事件处理机制

完善的 ajax 封装

出色的浏览器的兼容性

支持链式操作,隐式迭代

支持丰富的插件

jquery的文档也非常的丰富

6.jquery对象和dom对象如何转换

1. jquery 转 DOM 对象: jQuery对象是一个数组对象,可以通过[index]的丰富得到 DOM 对象还可以通过 get[index]去得到相应的 DOM 对象。

2. DOM 对象转 jQuery 对象: $(DOM 对象)

7.jquery中$.get()提交和$.post()提交的区别

1. $.get() 方法使用 GET 方式提交请求,而$.post()使用 POST 方式。

2. GET 方式传输的数据大小不能超过 2KB 而 POST 要大的多

3. GET 方式请求的数据会被浏览器缓存起来,因此有安全问题。

8.$(document).ready()方法和window.onload区别

两个方法有相似的功能,但是在实行时机方面是有区别的。

1 window.onload 方法是在网页中所有的元素(包括元素的所有关联文件)完全加 载到浏览器后才执行的。

2 $(document).ready() 方法可以在 DOM 载入就绪时就对其进行操纵,并调用执 行绑定的函数

9.xml有哪些解析技术

有DOM,DOM4j,SAX,PULL 等

DOM: 一次性将整个文档加载到内存中, 生成一个对象树, 在处理大型文件时其性 能下降的非常厉害。

DOM4J: 对 DOM 的进一步封装, API 使用更简洁

SAX:基于事件驱动的方法回调机制。每读取一小部分数据时就会回调事件处理 器对象的方法, 但解析一旦开始就不能停止.

PULL: 也是基于事件驱动, 只是需要手动控制读取下一部分数据,这样得到想要的 数据后就可以停止解析.

10.你在项目中用到了xml技术的哪些方面?如何实现的?

用到了数据存贮,信息配置两方面。在做数据交换平台时,将不能数据源的数据组装成 XML 文件,然后将 XML 文件压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再同 XML 文件中还原相关信息进行处理。在做软件配置时,利用 XML 可以很方便的进行,软件的各种配置参数都存贮在 XML 文件中。

11.说说你对json的理解

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于标准JavaScript的一个子集,是一个js对象或数组结构的字符串

JSON有三类数据

1.单个数据

有number,string,boolean,null四种类型数据

2.多个有序的数据:数组

用[]包含起来, 其元素可以是三类数据中的任意一种, 元素之间用,号隔开

3.多个无序的数据: 对象用{}包含起来, 其元素必须由 key-value 组成, key 是一个字符串, value 可以是 任意类型数据, key 与 value 之间用:号隔开, 两个 key-value 之间用,号隔开。

12.javascript的typeof返回哪些数据类型

Object number string boolean underfind

13.例举3种强制类型转换和2种隐式类型转换?

强制(parseInt,parseFloat,number)

隐式(== – ===)

14.split() join() 的区别

前者是切割成数组的形式,后者是将数组转换成字符串

15.数组方法pop() push() unshift() shift()

push()尾部添加 pop()尾部删除

unshift()头部添加 shift()头部删除

16.IE和标准下有哪些兼容性的写法

var ev = ev || window.event

document.documentElement.clientWidth || document.body.clientWidth

var target = ev.srcElement||ev.target

17.ajax请求的时候get 和post方式的区别

一个在url后面 一个放在虚拟载体里面 请求头里面

有大小限制

安全问题

应用不同 一个是论坛等只需要请求的,一个是类似修改密码的

18.call和apply的区别

Object.call(this,obj1,obj2,obj3)

Object.apply(this,arguments)

19.ajax请求时,如何解释json数据

使用eval parse 鉴于安全性考虑 使用parse更靠谱

20.写一个获取非行间样式的函数

function getStyle(obj,attr,value){

if(!value){

if(obj.currentStyle){

return obj.currentStyle(attr)

}else{

obj.getComputedStyle(attr,false)

}

}else{

obj.style[attr]=value

}

}

21.闭包是什么,有什么特性,对页面有什么影响

闭包就是能够读取其他函数内部变量的函数。

22.添加 删除 替换 插入到某个接点的方法

obj.appendChidl()

obj.innersetBefore()

obj.replaceChild()

obj.removeChild()

23.javascript的本地对象,内置对象和宿主对象

本地对象为array obj regexp等可以new实例化

内置对象为gload Math等不可以实例化的

宿主为浏览器自带的document,window等

24.document.load 和document.ready的区别

Document.onload 是在结构和样式加载完才执行js

Document.ready原生种没有这个方法,jquery中有 $().ready(function)

25.”==”和“===”的不同

前者会自动转换类型

后者不会

26.Javascript的语法

1.区分大小写

2.弱类型变量 var age=10 var name=”dd”

3.每行结尾的分号可有可无,但建议还是加上

4.注释与java相同

27.变量

变量是通过var关键字来声明的。(variable)

变量的命名规则与java一致

注释有三种:///**/ <!-- --> 这个只能注释单行

28.javascript的Hello world

document.write()是写在文档的最前面

29. slice()、substring()、subtr

Slice和substring (2,5) 指的是从第3为开始,取(5-2)=3个数,其中slice的参数可以为负 substr(2,5)指的是从第3为开始,取5个数。但ECMAscript 没有对该方法进行标准化,因此尽量少使用该方法

30. indexOf()和lastIndexOf(),isNan,typeOf

indexOf(”i”) //从前往后,i在第几位

indexOf(”i”,3)可选参数,从第几个字符开始往后找

lastIndexOf(”i”)//从后往前,i在第几位

lastIndexOf (”i”,3) //从后往前,i在第几位

如果没找到,则返回-1

String类型的变量,在Java中,用“”符号表示字符串,用’’表示单个字符。而在javascript中这两种都可以

Nan(not a number)

Alert(nan ==nan)返回false,因此不推荐使用nan本身,推荐函数isNan

Alert(isNan(“ab”));//返回false

typeof运算符

var stmp = “test”;

alert(typeof stmp); //输出string

alert(type of 1);//输出number

此外:还有boolean,undefined,object(如果是引用类型或者null值,null值返回object,这其实是ecmascript的一个错误)

当声明的变量未初始化的时候,它的值就是undefined.当没有这个变量的时候,typeof 变 返回的值也是undefined。但是没声明的变量是不能参与计算的。

当函数无明确返回值时,返回的也是undefined

function a(){

}

Alert(a() == undefined) //返回true

Alert(null == undefined)//返回true

31.数值计算

var mynum1 = 23.345;

var mynum2 = 45;

var mynum3 = -34;

var mynum4 = 9e5; //科学计数法 为 9*10五次方

var fNumber = 123.456;

alert(fNumber.toExponential(1));//保留的小数点数 1.2e+2

alert(fNumber.toExponential(2));//1.23e+2

32.布尔值

var married = true;

alert("1." + typeof(married));//Boolean

married = "true";

alert("2." + typeof(married));//String

33.类型转换

转换成string类型有三种方式

var a = 3;

var b = a + "";

var c = a.toString();

var d = "student" + a;

toString()

var a=11;

document.write(a.toString(2) + "<br>");//转成2进制

篇二:最全前端开发面试内容及答案

HTML+CSS

1.对WEB标准以及W3C的理解与认识

标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外 链css和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维 护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性;

2.xhtml和html有什么区别

HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言 最主要的不同:

XHTML 元素必须被正确地嵌套。

XHTML 元素必须被关闭。

标签名必须用小写字母。

XHTML 文档必须拥有根元素。

3.Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?

用于声明文档使用那种规范(html/Xhtml)一般为 严格 过度 基于框架的html文档 加入XMl声明可触发,解析方式更改为IE5.5 拥有IE5.5的bug

4.行内元素有哪些?块级元素有哪些?CSS的盒模型?

块级元素:div p h1 h2 h3 h4 form ul

行内元素: a b br i span input select

Css盒模型:内容,border ,margin,padding

5.CSS引入的方式有哪些? link和@import的区别是?

内联 内嵌 外链 导入

区别 :同时加载

前者无兼容性,后者CSS2.1以下浏览器不支持

Link 支持使用javascript改变样式,后者不可

6.CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?

标签选择符 类选择符 id选择符

继承不如指定 Id>class>标签选择

后者优先级高

7.前端页面有哪三层构成,分别是什么?作用是什么?

结构层 Html 表示层 CSS 行为层 js

8.css的基本语句构成是?

选择器{属性1:值1;属性2:值2;……}

9.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?

Ie(Ie内核) 火狐(Gecko) 谷歌(webkit) opear(Presto)

10.写出几种IE6 BUG的解决方法

1.双边距BUG float引起的 使用display

2.3像素问题 使用float引起的 使用dislpay:inline -3px

3.超链接hover 点击后失效 使用正确的书写顺序 link visited hover active

4.Ie z-index问题 给父级添加position:relative

5.Png 透明 使用js代码 改

6.Min-height 最小高度 !Important 解决’

7.select 在ie6下遮盖 使用iframe嵌套

8.为什么没有办法定义1px左右的宽度容器(IE6默认的行高造成的,使用

over:hidden,zoom:0.08 line-height:1px)

11.标签上title与alt属性的区别是什么?

Alt 当图片不显示是 用文字代表。

Title 为该属性提供信息

12.描述css reset的作用和用途。

Reset重置浏览器的css默认属性 浏览器的品种不同,样式不同,然后重置,让他们统一

13.解释css sprites,如何使用。

Css 精灵 把一堆小的图片整合到一张大的图片上,减轻服务器对图片的请求数量

14.浏览器标准模式和怪异模式之间的区别是什么?

盒子模型 渲染模式的不同

使用 window.top.document.compatMode 可显示为什么模式

15.你如何对网站的文件和资源进行优化?期待的解决方案包括:

文件合并

文件最小化/文件压缩

使用CDN托管

缓存的使用

16.什么是语义化的HTML?

直观的认识标签 对于搜索引擎的抓取有好处

17.清除浮动的几种方式,各自的优缺点

1.使用空标签清除浮动 clear:both(理论上能清楚任何标签,,,增加无意义的标签)

2.使用overflow:auto(空标签元素清除浮动而不得不增加无意代码的弊端,,使用zoom:1用于兼容IE)

3.是用afert伪元素清除浮动(用于非IE浏览器)

Javascript

1.javascript的typeof返回哪些数据类型

Object number function boolean underfind

2.例举3种强制类型转换和2种隐式类型转换?

强制(parseInt,parseFloat,number)

隐式(== – ===)

3.split() join() 的区别

前者是切割成数组的形式,后者是将数组转换成字符串

4.数组方法pop() push() unshift() shift()

Push()尾部添加 pop()尾部删除

Unshift()头部添加 shift()头部删除

5.事件绑定和普通事件有什么区别

6.IE和DOM事件流的区别

1.执行顺序不一样、

2.参数不一样

3.事件加不加on

4.this指向问题

7.IE和标准下有哪些兼容性的写法

Var ev = ev || window.event

document.documentElement.clientWidth || document.body.clientWidth

Var target = ev.srcElement||ev.target

8.ajax请求的时候get 和post方式的区别

一个在url后面 一个放在虚拟载体里面

有大小限制

安全问题

应用不同 一个是论坛等只需要请求的,一个是类似修改密码的

9.call和apply的区别

Object.call(this,obj1,obj2,obj3)

Object.apply(this,arguments)

10.ajax请求时,如何解释json数据

使用eval parse 鉴于安全性考虑 使用parse更靠谱

11.b继承a的方法

12.写一个获取非行间样式的函数

function getStyle(obj,attr,value)

{

if(!value)

{

if(obj.currentStyle)

{

return obj.currentStyle(attr)

}

else

{

obj.getComputedStyle(attr,false)

}

}

else

{

obj.style[attr]=value

}

}

13.事件委托是什么

让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!

/?p=78 例子可见此链接

14.闭包是什么,有什么特性,对页面有什么影响

闭包就是能够读取其他函数内部变量的函数。

http://blog.csdn.net/gaoshanwudi/article/details/7355794 此链接可查看(问这个问题的不是一个公司)

15.如何阻止事件冒泡和默认事件

canceBubble return false

16.添加 删除 替换 插入到某个接点的方法

obj.appendChidl()

obj.innersetBefore

obj.replaceChild

obj.removeChild

17.解释jsonp的原理,以及为什么不是真正的ajax

动态创建script标签,回调函数

Ajax是页面无刷新请求数据操作

18.javascript的本地对象,内置对象和宿主对象

本地对象为array obj regexp等可以new实例化

内置对象为gload Math 等不可以实例化的

宿主为浏览器自带的document,window 等

19.document load 和document ready的区别

Document.onload 是在结构和样式加载完才执行js

Document.ready原生种没有这个方法,jquery中有 $().ready(function)

20.”==”和“===”的不同

前者会自动转换类型

后者不会

21.javascript的同源策略

一段脚本只能读取来自于同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协

篇三:前端面试题(2016含答案)

2016 前端面试题1) 下列哪个样式定义后,内联(非块状)元素可以定义宽度和高度a. display:inline b. display:none c. display:block d. display:inherit2) css 属性 overflow 属性定义溢出元素内容区的内容会如何处理。如果值为 scroll,不论是否需要,用户代理都 会提供一种滚动机制。True False 3) 新窗口打开网页,用到以下哪个值()。a. _self b. _blank c. _top d. _parent 4) 下面有关 jquery 事件的响应,描述错误的是? a. b. c. d. onclick 鼠标点击某个对象 onfocus 元素失去焦点 onload 是某个页面的 css js html 文档结构和图像被完成加载 onmousedown 某个鼠标按键被按下5)元素的 alt 和 title 有什么异同,选出正确的说法?不同的浏览器,表现一样a. alt 和 title 同时设置的时候,alt 作为图片的替代文字出现,title 是图片的解释文字 b. alt 和 title 同时设置的时候,title 作为图片的替代文字出现,alt 是图片的解释文字 c. 以上说法都不正确6) 下列 js 可以让一个 input 的背景颜色变成红色的是?A. inputElement.style.backgroundColor = 'red'; b. inputElement.backgroundColor = 'red';

c. inputElement.style.backgroundColor = '#0000'; d. inputElement.backgroundColor = '#0000';7) 下面有关 html5 标签说法错误的有? a. <audio> 标签定义声音,比如音乐或其他音频流 b. <canvas> 比如来自一个外部的新闻提供者的一篇新的文章,或者来自 blog 的文本,或者是来自论坛的文本。亦 或是来自其他外部源内容 c. <menu> 标签定义菜单列表。当希望列出表单控件时使用该标签 d. <command> 标签定义命令按钮,比如单选按钮、复选框或按钮 8) 下述有关 css 属性 position 的属性值的描述,说法错误的是? a. b. c. d. static:没有定位,元素出现在正常的流中 fixed:生成绝对定位的元素,相对于父元素进行定位 relative:生成相对定位的元素,相对于元素本身正常位置进行定位。 absolute:生成绝对定位的元素,相对于 static 定位以外的第一个祖先元素进行定位。9) 下面符合一个有效的 javascript 变量定义规则的是? a. b. c. d. _$te$t2 with a bc 2a10) 下面有关 JavaScript 中 call 和 apply 的描述,错误的是? a. b. c. d. call 与 aplly 都属于 Function.prototype 的一个方法,所以每个 function 实例都有 call、apply 属性 两者传递的参数不同,call 函数第一个参数都是要传入给当前对象的对象,apply 不是 apply 传入的是一个参数数组,也就是将多个参数组合成为一个数组传入 call 传入的则是直接的参数列表。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对 象。11) 什么会被打印在控制台上? b 是局部变量还是全局变量(function() { var a = b = 5; })(); console.log(b);12) 执行这段代码,输出什么结果。 function test() { console.log(a); console.log(foo()); var a = 1; function foo() { return 2; } } test();

13) 执行这段代码,输出什么结果。 var fullname = 'John Doe'; var obj = { fullname: 'Colin Ihrig', prop: { fullname: 'Aurelio De Rosa', getFullname: function() { return this.fullname; } } }; console.log(obj.prop.getFullname()); var test = obj.prop.getFullname; console.log(test()); 14) 下面这个 JS 程序的输出是什么: function Foo() { var i = 0; return function() { console.log(i++); } } var f1 = Foo(), f2 = Foo(); f1(); f1(); f2(); 15) 下面这个 JS 程序的输出是什么:<SCRIPT LANGUAGE="JavaScript"> var bb = 1; function aa(bb) { bb = 2; alert(bb); }; aa(bb); alert(bb); </SCRIPT>16) Doctype 作用? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义? 17) CSS 选择符有哪些?哪些属性可以继承?优先级算法如何计算? CSS3 新增伪类有那些? 18) 谈谈 This 对象的理解。 19)请用js 实现全选和取消全选的功能,只需要写出 js 代码(可以使用 jquery 框架)

<input type=”checkbox” id=”checkall” />全选 <div class=”list”> <input type=”checkbox” name=” type” value=”1” /> 这是 1 <input type=”checkbox” name=”type” value=”2” /> 这是 2 </div>20)面试官问你有没有女/男朋友?答案 1,C。内联元素加上 display:block;后被块级化。块级元素一般是其他元素的容器, 可容纳内联元素和其他块状元素, 块状元素排斥其他元素与其位于同一行,宽度(width)高度(height)起作用。因此,可以定义其宽度和高度。 ,2,TRUE。参数是 scroll 时候,必会出现滚动条。 参数是 auto 时候,子元素内容大于父元素时出现滚动条。 参数是 visible 时候,溢出的内容出现在父元素之外。 参数是 hidden 时候,溢出隐藏。, 3,选 B。在 html 中通过<a>标签打开一个链接,通过 <a> 标签的 target 属性规定在何处打开链接文档。 如果在标签<a>中写入 target 属性,则浏览器会根据 target 的属性值去打开与其命名或名称相符的 框架<frame>或 者窗口. 在 target 中还存在四个保留的属性值如下, 属性值 值 描述_blank在新窗口中打开被链接文档。_self默认。在相同的框架中打开被链接文档。_parent在父框架集中打开被链接文档。

_top在整个窗口中打开被链接文档。framename在指定的框架中打开被链接文档。4,选 b。onfocus 获得焦点 onblur 失去焦点 5,A 这两个属性是有些重复了。在不同浏览器里面表现有些不同。在 alt 和 title 同时设置的时候,alt 作为图片的替 代文字出现,title 是图片的解释文字。 6,A #0000 是不正确的写法,至少要为六位,应该是#FF0000 A 写法是正确的,有两种写法: document.getElementById("input").style.backgroundColor = "red"; inputElement.style.backgroundColor = "#FF0000"; 7, B 这里考察 HTML 标签的使用: <audio> 标签定义声音,比如音乐或其他音频流。 A 正确。 <canvas> 标签定义图形,比如图表和其他图像。<canvas> 标签只是图形容器,您必须使用脚本来绘制图形。 B 错误, <article>标签定义外部的内容。比如来自一个外部的新闻提供者的一篇新的文章,或者来自 blog 的文本,或者是来 自论坛的文本。亦或是来自其他外部源内容。 <menu> 标签定义命令的列表或菜单。<menu> 标签用于上下文菜单、工具栏以及用于列出表单控件和命令。 C 正确 command 元素表示用户能够调用的命令。<command> 标签可以定义命令按钮,比如单选按钮、复选框或按钮。只有当 command 元素位于 menu 元素内时,该元素才是可见的。否则不会显示这个元素,但是可以用它规定键盘快捷键。 D 正确。 8,B static 元素框正常生成。块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个行框,置于其父元 素中。 relative 元素框偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留。 absolute 元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原 先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流 中生成何种类型的框。 fixed 元素框的表现类似于将 position 设置为 absolute,不过其包含块是视窗本身。 9,A 正确; B 是关键字; C 有空格; D 开头为数字; 第一个字符必须是一个 ASCII 字母(大小写均可),或一个下划线(_)。注意第一个字符不能是数字。 后续的字符必须是字母、数字或下划线。 变量名称一定不能是 保留字。


前端面试题》由:免费论文网互联网用户整理提供;
链接地址:http://www.csmayi.cn/meiwen/48317.html
转载请保留,谢谢!
相关文章