字体加粗(font-weight)
功能:用于设置字体笔划的粗细。
属性值:正常度 - 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处理