前端面试题总结:HTML5,JS,CSS3,兼容性。

   日期:2024-11-03     作者:caijiyuan       评论:0    移动:http://qyn41e.riyuangf.com/mobile/news/242.html
核心提示:字体加粗(font-weight)   功能:用于设置字体笔划的粗细。  属性值:正常度- normal   相对度- bold, bolder, light, li

字体加粗(font-weight)   

前端面试题总结:HTML5,JS,CSS3,兼容性。

功能:用于设置字体笔划的粗细。   

属性值:正常度 - normal   

相对度 - bold, bolder, light, lighter   

渐变度 - 100, 200, 300, 400(相当于normal), 500, 600, 700(相当于 bold、 lighter、 bolder、以及数值100-900。   

语法为:h1 {font-weight: 属性值}

4、 编写一个布局,页面宽度自适应,最小宽度300px,左边定宽35%,右边定宽65%

(1)、良好的移动性,以移动设备为主。

(2)、响应式设计,以适应自动变化的屏幕尺寸

(3)、支持离线缓存技术,webStorage本地缓存

(4)、新增canvas,video,audio等新标签元素。新特殊内容元素:article,footer,header,nav,section等,新的表单控件:calendar,date,time,email,url,search。

(5)、地理定位...

(6)、新增webSocket/webWork技术

6、 Js面向对象的几种方式

(1)、对象的字面量 var obj = {}

(2)、创建实例对象 var obj = new Object();

(3)、构造函数模式 function fn(){} , new fn();

(4)、工厂模式:用一个函数,通过传递参数返回对象。function fn(params){var obj =new Object();obj.params = params; return obj;},fn(params);

(5)、原型模式:function clock(hour){} fn.prototype.hour = 0; new clock();

首先,每个函数都有一个prototype(原型)属性,这个指针指向的就是clock.prototype对象。而这个原型对象在默认的时候有一个属性constructor,指向clock,这个属性可读可写。而当我们在实例化一个对象的时候,实例newClock除了具有构造函数定义的属性和方法外(注意,只是构造函数中的),还有一个指向构造函数的原型的指针,ECMAscript管他叫[[prototype]],这样实例化对象的时候,原型对象的方法并没有在某个具体的实例中,因为原型没有被实例。

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

Css: 层叠样式表 ,表现,  由css负责创建。css对“如何显示有关内容”的问题做出了回答。

Html:超文本标记语言 ,结构,由 HTML 或 xhtml之类的标记语言负责创建。标签,也就是那些出现在尖括号里的单词,对网页内容的语义含义做出了描述,但这些标签不包含任何关于如何显示有关内容的信息。例如,P标签表达了这样一种语义:“这是一个文本段。”

Js: 客户端脚本语言 ,行为, 内容应该如何对事件做出反应。

(1)、文件合并(目的是减少http请求)

(2)、文件压缩 (目的是直接减少文件下载的体积)

(3)、使用cdn托管资源

(4)、使用缓存

(5)、gizp压缩你的js和css文件

(6)、meta标签优化(title,description,keywords),heading标签的优化,alt优化

(7)、反向链接,网站外链接优化。

(1)、层叠选择器$(“form input”)
(2)、基本过滤选择器:first:last:not()
(3)、内容过滤选择器:odd:eq():animated
(4)、可视化过滤选择器:hidden:visible
(5)、属性过滤选择器:div[id]
(6)、子元素过滤选择器:first-child:last-child:only:child
(7)、表单元素过滤选择器:enabled:disabled:checked:selected
(8)、id,类,类型,元素...

10、说几条javasprit的基本规范

(1)、不要在同一行声明多个变量。
(2)、请使用 ===/!==来比较true/false或者数值
(3)、使用对象字面量替代new Array这种形式
(4)、不要使用全局函数。
(5)、Switch语句必须带有default分支
(6)、函数不应该有时候有返回值,有时候没有返回值。
(7)、For循环必须使用大括号
(8)、If语句必须使用大括号
(9)、for-in循环中的变量 应该使用var关键字明确限定作用域,从而避免作用域污染。

11、 Html5中本地存储概念是什么,有什么优点

cookie是网站为了标示用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。

cookie数据始终在同源的http请求中携带(即使不需要),记会在浏览器和服务器间来回传递。

sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。

存储大小

    cookie数据大小不能超过4k。

    sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。

有期时间

    localStorage    存储持久数据,浏览器关闭后数据不丢失除非主动删除数据;

    sessionStorage  数据在当前浏览器窗口关闭后自动删除。

    cookie          设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭

12、什么是ajax和json,它们的优缺点

ajax的全称:Asynchronous Javascript And XML。

异步传输+js+xml。

所谓异步,在这里简单地解释就是:向服务器发送请求的时候,我们不必等待结果,而是可以同时做其他的事情,等到有了结果它自己会根据设定进行后续操作,与此同时,页面是不会发生整页刷新的,提高了用户体验。

(1)创建XMLHttpRequest对象,也就是创建一个异步调用对象

(2)创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息

(3)设置响应HTTP请求状态变化的函数

(4)发送HTTP请求

(5)获取异步调用返回的数据

(6)使用Javascript和DOM实现局部刷新

13、 你知道那些针对jQuery的优化方法

15、简述ECMAscript6的新特性

1.增加块作用域

2.增加let const

3.解构赋值

4.函数参数扩展 (函数参数可以使用默认值、不定参数以及拓展参数)

5.增加class类的支持

6.增加箭头函数

7.增加模块和模块加载(ES6中开始支持原生模块化啦)

8.math, number, string, array, object增加新的API

16、Apply和call方法的异同

相同点:两个方法产生的作用是完全一样的,第一个参数都是对象;

不同点:

call()方法参数将依次传递给借用的方法作参数,即fn.call(thisobj, arg1,arg2,arg3...argn),有n个参数

apply()方法第一个参数是对象,第二个参数是数组fn.apply(thisobj,arg),此处的arg是一个数组,只有两个参数

 17、 为什么利用多个域名来提供网站资源会更有效?

(1)、突破浏览器的并发限制(浏览器同一域名最大的并发请求数量为6个,ie6为2个)
(2)、节约cookie带宽
(3)、CDN缓存更方便
(4)、防止不必要的安全问题(尤其是cookie的隔离尤为重要)
(5)、节约主机域名连接数,优化页面响应速度

18、身为以为web前端工程师,你肯定知道现在最流行的前端技术吧,有那些?

(1)、li边距“无故” 增加

设置ul的显示形式为*display:inline-block;即可,前面加*是只 针对IE6/IE7有效

(2)、IE6 不支持min-height属性,但它却认为height就是最小高度

使用ie6不支持但其余浏览器支持的属性!important。

(3)、Overflow:

在IE6/7中,overflow无法正确的隐藏有相对定位position:relative;的子元素。解决方法就是给外包容器.wrap加上position:relative;。

(4)、border:none 在IE6不起作用: 写成border:0 就可以了,

(5)、100%高度

在IE6下,如果要给元素定义100%高度,必须要明确定义它的父级元素的高度,如果你需要给元素定义满屏的高度,就得先给html和body定义 height:100%;。

(6)、双边距 Bug

当元素浮动时,IE6会错误的的把浮动方式的margin值双倍计算,给float的元素添加一个display:inline

(7)、躲猫猫bug

些定义了:hover的链接,当鼠标移到那些链接上时,在IE6下就会触发躲猫猫。
1.在(那个未浮动的)内容之后添加一个<span style=”clear: both;”></span>
2.触发包含了这些链接的容器的hasLayout,一个简单的方法就是给其定义height:1%;

(8)、IE6 绝对定位的元素1px 间距bug

当绝对定位的父元素或宽度为奇数时,bottom和right会多出现1px,

解决方案,针对IE6进行hack处理

 
特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

举报收藏 0打赏 0评论 0
 
更多>同类最新资讯
0相关评论

相关文章
最新文章
推荐文章
推荐图文
最新资讯
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号