书签 分享 收藏 举报 版权申诉 / 24

类型前端经典面试题讲课稿.docx

  • 文档编号:11268851
  • 上传时间:2023-05-30
  • 格式:DOCX
  • 页数:24
  • 大小:29.58KB

200px;float:

left;background-color:

red;">33

200px;margin-right:

200px;background-color:

green;">22

 

第二种方法:

左右采用绝对定位,中间采用margin-left和margin-right

代码:

100%;margin:

0auto;">

200px;position:

absolute;left:

0px;background-color:

#000000;">11

200px;position:

absolute;right:

0px;background-color:

red;">33

200px;margin-right:

200px;background-color:

green;">22

 

第三种方法负margin值

 maincontent

 leftcontent

 right

#main{

 float:

 left;

 width:

 100%;

}

#mainContainer{

 margin:

 0230px;

 height:

 200px;

 background:

 green;

}

#left{

 float:

 left;

 margin-left:

 -100%;

 width:

 230px} 

#right{

 float:

 left;

 margin-left:

 -230px;

 width:

 230px;

#left.inner,

#right.inner{

 background:

 orange;

 margin:

 010px;

 height:

 200px;

}

20,js有几种数据类型?

其中基本数据类型有哪些?

基本数据类型有Boolean,undefined,null,number,string

应用类型有object,array,function

21,undefined和null的区别

Null代表空值,代表一个空对象指针,一个特殊的对象值

Undefined是未定义,类型也是undefined

22,http和https有什么区别?

如何灵活运用?

Http是http运行在TCP之上,传输内容是明文,客户端和服务器无法验证对方身份。

HTTPS是http运行在SSL/tls之上,SSL/tls运行在TCP上,所有内容都是经过加密。

加密采用对称加密,但是秘钥用服务器证书进行非对称加密。

服务器和客户端都是可以互相验证身份。

23,常见的Http状态码

2开头,请求成功,表示成功处理了请求的状态代码

3开头,请求重定向,表示完成请求,需要进一步操作,一般是重定向

4开头,请求错误,表示请求出错,妨碍了服务器的处理

5开头,这些状态码表示服务器在尝试处理请求时发生内部错误,服务器本身出错而不是请求出错

24,如何进行网站性能的优化

原因:

用户角度加载速度提高,更好的交互体验

服务商角度减少页面请求,降低带宽,节省资源

方法:

1,JavaScript优化和打包

2,按需加载资源

3,在使用DOM操作库时用上array-ids

4,缓存

5,启用HTTP/2

6,应用性能分析

7,使用负载均衡方案

8,同构

9,使用索引加快数据库查询

10,使用更快的转译方案

11,避免因JavaScript和css的使用而阻塞渲染

12,图片编码优化

 

25,react和vue有哪些不同,说说你对这两个框架的看法

相同点:

都支持服务器渲染

都有virtualDOM,组件化开发,通过props参数进行父子组件数据的传递,都实现了webComponent规范

数据驱动视图

都支持native方案,react的reactnative和vue的weex

不同点:

react严格上只针对MVC的view层,vue则是mvvm模式

VirtualDOM不一样,vue会跟踪每一个组件的依赖关系,不需要重新渲染整个组件树,而对于react来说,每次应用状态被改变,全部组件都会被重新渲染,所以react需要shouldComponentUPdate这个生命周期函数来进行控制。

组件的写法不一样。

数据绑定,vue是双向的,react是单向的

State对象在react应用中不可变的,需要使用setstate方法更新状态,在vue中state对象对象不是必须的,数据由data属性在vue对象中管理

26,什么是mvvmmvc有什么区别,原理?

1,MVC(model-view-controller)

MVC是比较直观的架构模式,用户模式->view(负责接收用户的操作输入)->controller(业务逻辑处理)->view(将结果反馈给view)

2,MVVM(model-view-viewmodel)

将”数据模型数据双向绑定”的思想作为核心,因此model和view没有什么关系,之后痛过viewmodel进行交互,而model和viewmodel之间的交互是双向的,因此数据的视图的变化会同时修改数据源,而数据源的数据变化也会立刻反应view。

27,px和em的区别

Px表示像素,是一个绝对单位,不会因为其他元素而改变

Em表示相对于父元素的字体大小,em是相对单位,会受到其他元素的影响

28,优雅降级和渐进增强

渐进增强(向上兼容):

一开始就针对低版本浏览器进行构筑界面,完成基本功能,然后在针对高级浏览器进行效果,交互,追加功能达到更好的体验

优雅降级(向下兼容):

一开始就构建站点的完整功能,然后针对浏览器测试和修复。

29,eval()的作用

把字符串参数解析成JS代码并运行,并返回执行的结果;

例如:

eval(“2+3”);//执行加运算并返回执行的结果。

Eval(“varage=10”);//声明一个变量age

Eval()的作用域

Function(){

Eval(“varx=1”);//等效于varx=1;

Console.log(x);//输出1

}

a();

console.log(x);//错误,没有定义x

30,js哪些操作会泄露内存

1,意外的全局变量引起的内存泄漏

2,闭包引起的

3,没有清理DOM元素的应用

4,被遗忘的定时器或者回调

5,子元素存在引起的

31,浏览器缓存有哪些?

通常的缓存有哪几种?

1,HTTP缓存

2,Websql

3,Cookies

4,Localstorage

5,Sessionstorage

6,Flash缓存

 

32,bootstrap响应式原理

百分比布局+媒体查询

33,关于js事件冒泡与js时间代理(事件委托)

1,事件冒泡:

当一个子元素被触发时(如onclick),该事件会从事件源(被触发的子元素)开始逐级向上传播,出发父级元素的点击事件。

2,事件委托:

将子元素的事件通过冒泡的形式交由父元素来执行

例如:

1. var ul = document.getElementById('parentUl');  

2.     ul.onclick=function (event) {  

3.       var e = event||window.event,  

4.               source = e.target || e.srcElement;//target表示在事件冒泡中触发事件的源元素,在IE中是srcElement  

5.         if(source.nodeName.toLowerCase() == "li"){   //判断只有li触发的才会输出内容  

6.             alert(source.innerHTML);  

7.         }  

8.         stopPropagation(e);                           //阻止继续冒泡  

9.     };  

10.     function addElement() {  

11.         var li = document.createElement('li');  

12.         li.innerHTML="我是新孩子";  

13.         ul.appendChild(li);  

14.     }  

34,css样式覆盖规则

规则一:

由于继承而发生样式冲突时,最近祖先获胜(就近原则);

规则二:

继承样式和直接指定的样式冲突时,直接指定的样式获胜

规则三:

直接指定样式发生冲突时,样式权值高的获胜;

规则四:

样式权值相等时,后者获胜。

规则五:

important的样式不被覆盖。

35,请简要描述margin重合问题以及解决方式

1,同向margin重叠

这时候重叠之后的margin值由发生重叠两片的最大值决定;如果其中一个出现负值,则由最大的正边距减去绝对值最大的负边距,如果没有最大正边距,则由0减去绝对值最大的负边距。

解决方法:

(1)在最外层的div中加入overflow:

hidden;zoom:

1;(zoom这个属性是ie专有属性,除了设置或者检索对象的缩放比例之外,它还有可以触发ie的haslayout属性,清除浮动,清除margin重叠等作用。

(2)在最外层加入padding:

1px;

(3)在最外层加入:

border:

1pxsolid#000000;

2,异向重叠问题:

Float:

left(ie6专属,或解决ie8+等浏览器的同向重叠问题)

36,position的值,relative\absolute\fixed分别相对于进行谁定位?

Absolute:

绝对定位相对于最近一级

Fixed:

绝对定位相对于浏览器窗口或frame进行定位

Relative:

相对定位相对于其在普通流的位置

Static:

默认值没有定位

Sticky:

粘性定位文档位置根据正常文档流计算得出

37,什么是闭包,如何使用,为什么使用?

闭包就是在函数内定义一个函数。

优点:

可以读取函数内部的变量这些变量的值始终保存在内存中

缺点:

内存消耗大且容易造成内存泄漏闭包会在父函数外部,改变父函数内部变量的值

38,请解释一下jsonp的工作原理,以及它为什么不是真正的ajax。

Jsonp是一个简单的跨域方式;HTML中的script标签可以加载并执行其他域的javascript,于是我们可以通过script标记来动态加载其他域的资源

JSONP易于实现,但是也会存在一些安全隐患,如果第三方的脚本随意地执行,那么它就可以篡改页面内容,截获敏感数据。

但是在受信任的双方传递数据,JSONP是非常合适的选择。

AJAX是不跨域的,而JSONP是一个是跨域的,还有就是二者接收参数形式不一样

 

39,请解释一下JavaScript的同源政策。

同源政策规定跨域之间的脚本是隔离的,一个域的脚本不能访问和操作另外一个域的绝大部分属性和方法。

当两个域具有相同的协议,相同的端口,相同的host,那么我们就可以认为是相同的域。

40,怎样添加,移除,移动,复制,创建和查找节点?

1,创建新节点

Createdocumentfragment()//创建一个DOM片段

CreateElement()//创建一个具体的元素

CreateTextNode()//创建一个文本节点

2,添加,移除,替换,插入

Appendchild()//添加

Removechild()//移除

Replacechild()//替换

InsertB

举报
举报
版权申诉
版权申诉
word格式文档无特别注明外均可编辑修改;预览文档经过压缩,下载后原文更清晰! 立即下载
配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
前端 经典 试题 讲课
提示  冰点文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:前端经典面试题讲课稿.docx
链接地址:https://www.bingdoc.com/p-11268851.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2


收起
展开