web前端面试集锦(自己搜集的,如有错误请不吝赐教)
css
1 浏览器兼容性 CSS hack(针对IE6-,IE7,IE8,IE9以及其他浏览器)
‘ * ’ : 所有的IE浏览器都能识别
说明:在标准模式中
“-″减号是IE6专有的hack
“\9″ IE6/IE7/IE8/IE9/IE10都生效
“\0″ IE8/IE9/IE10都生效,是IE8/9/10的hack
“\9\0″ 只对IE9/IE10生效,是IE9/10的hack
(还可以这样解决)
<!-- 放置所有浏览器的样式 -->
<link rel="stylesheet" href="/css/style.css" type="text/css">
<!-- 只放置IE必须的,而不能通过W3C的代码 -->
<!-- [if ie] -->
<link rel="stylesheet" href="/css/style.css" type="text/css">
<!-- [endif] -->
2 . css position有几个值,作用,默认元素的position是什么?
css position 有5个值,absolute(相对于static定位以外的第一个父元素进行定位) fixed (相对于浏览器窗口定位)relative(相对于其正常位置定位) static(默认值,没有定位) inherit(规定应该从父元素继承Position属性的值)
3. 行内元素有哪些?块级元素有哪些?CSS的盒模型?
块级元素:div p h1 h2 h3 h4 form ul
行内元素: a b br i span input select
Css盒模型:内容,border ,margin,padding
4.Css清除浮动方法
方法一:添加新的元素、应用 clear:both;
|
.clear{clear:both; height: 0; line-height: 0; font-size: 0} |
方法二:父级div定义 overflow: auto
.over-flow{
overflow: auto; zoom: 1; //zoom: 1; 是在处理兼容性问题
}
方法三 :after 方法:(注意:作用于浮动元素的父亲)
.outer {zoom:1;} /* for IE6/7 */
.outer :after {clear:both;content:'.';display:block;width: 0;height: 0;visibility:hidden;} /*for FF/chrome/opera/IE8*/
5.简单列出所知道的css3以及html5的一些常用属性或者标签
Css3
border-radius 边框圆角 box-shadow 边框阴影
background-size 背景图片大小 text-shadow 文本阴影
word-wrap: normal | break-word 允许长单词换到下一行
word-break:normal | break-all | keep-all 规定自动换行的规则
text-overflow:clip | ellipsis | string
translate(50px,100px) , transform:rotate(30deg) , transform:scale(2,4);
transform:skew(30deg,30deg), transform:rotate(30deg).
过渡 transition
Html5
<canvas> <video> <audio> <footer> <header><hgroup><nav><time><article>
属性: data-aaa dir (规定元素中内容的文本方向) draggable(规定是否允许用户拖动元素) accesskey(规定访问元素的键盘快捷键)
Contenteditable (规定是否允许用户编辑内容)
6. 解释css sprites,如何使用。
Css 精灵
把一堆小的图片整合到一张大的图片上,减轻服务器对图片的请求数量
7. CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?
标签选择符 类选择符 id选择符
继承不如指定 Id>class>标签选择
后者优先级高
8. 你如何对网站的文件和资源进行优化?
文件合并
文件最小化/文件压缩
使用CDN托管
缓存的使用
9.Css布局:三列,中间宽度自适应,左右边宽度固定100px;
.box {width:100%;height:200px;position:relative;}
.left{position:absolute;left:0px;top:0px;width:100px;height:100%;}
.right{position:absolute;right:0px;top:0px;width:100px;height:100%;}
.center {margin-left:100px;margin-right:100px;height:100%;}
<div class="box">
<div class="left"></div>
<div class="right"></div>
<div class="center"></div>
</div>
JS
- JS有几种数据类型 分别是什么?
字符串(string),数字(number),数组(array),布尔(boolean)
对象(object),Null , undefined
2.Jquery获取元素的宽
$.width() 获取内容区域的宽度(不包括padding margin border的宽度)
$.innerWidth() 获取到包括内边距的宽度(content+padding)
$.outerWidth() 获取到内边距+边框的宽度 (content+padding+border)
$.outerWidth(true) content+padding+border+margin)
3. 面象对象有几种模式,分别是什么?
单例模式 (就是一种最简单的面象对象, 一次只有一个实例)
工厂模式
构造函数
原型模式
4. Ajax有几个状态值,每个状态值代表什么意思?
0 - (未初始化)还没有调用send()方法
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了
5. 简述JS的作用域以及作用域链
作用域:包含全局作用域和局部作用域
全局作用域使用范围①最外层函数和最外层函数外定义的变量有全局作用域
②所有未定义直接赋值的变量自动申明未拥有全局作用域
③所有window对象的属性拥有全局作用域
局部作用域:一般只在固定的代码片段内可以访问,比如:函数内部
6. this关键字
var name1 = "windowName";
function outer(){
var
name1 = "我是上一级作用域";
function
inner(){
//var name1 = "我是根本"
alert(this.name1); //这个是属性 输出是ABC 这里this指向的是window;
alert(name1); //这个是变量 输出的是cba这里考的是作用域,
}
inner();
}
- outer();
输出的顺序为: windowName 我是上一级作用域
7. 数组 split() join() 的区别 数组方法pop()
push() unshift() shift()
var str2 =
"012345678";
var str222 = str2.split("");
alert(str2.substring(2,8))
alert(str222)
split() 前者是切割成数组的形式,join()后者是将数组转换成字符串
Push()尾部添加 pop()尾部删除
Unshift()头部添加 shift()头部删除
输出:234567 0,1,2,3,4,5,6,7,8
8. 简述闭包是什么?有什么特性?对页面有什么影响?解决方法?
闭包是什么:闭包就是能够读取其他函数内部变量的函数
有什么特性:可以读取函数内部的变量,让变量的值始终保持在内存中
影响:使函数中的变量都保存在内存中,内存消耗大,网页性能问题,IE中导致内存泄露
解决方法: 退出函数之前,将不是用的局部变量全部释放
9. 利用原型以及原型链的原理,写2个函数 分别为加法和减法 ,实现 5+3-2
Number.prototype.plus = function(n){
return this+n;
}
Number.prototype.reduce = function(n){
return this - n
}
(5).plus(3).reduce(2)
10. 添加 删除 替换 插入到某个接点的方法
obj.appendChidl()
obj.innersetBefore
obj.replaceChild
obj.removeChild
web前端面试集锦(自己搜集的,如有错误请不吝赐教)的更多相关文章
- web前端面试试题总结---html篇
HTML Doctype作用?标准模式与兼容模式各有什么区别? (1).<!DOCTYPE>声明位于位于HTML文档中的第一行,处于 <html> 标签之前.告知浏览器的解析器 ...
- web前端面试总结
本文由我收集总结了一些前端面试题,初学者阅后也要用心钻研其中的原理,重要知识需要系统学习.透彻学习,形成自己的知识链.万不可投机取巧,临时抱佛脚只求面试侥幸混过关是错误的!也是不可能的! 前端还是一个 ...
- Web前端面试笔试题总结
最近一段时间要毕业了,忙着找工作,见过不少笔试面试题,自己总结了一些加上网上找的一些整合了一下.答案暂时都东拼西凑出来了,但是还是先不发出来,一方面是答案并不是唯一的并且自己的答案不能保证对,另一方面 ...
- 百度web前端面试2015.10.18
邮件里通知的周日下午两点参加百度校招面试,我13:10分就到了,前台先让我拿了个面试资格单(上面是我的信息),然后在web前端面试入口排队,面试在百度食堂举行的,等了大概1个小时,放我去面试.都是一对 ...
- 2016年Web前端面试题目汇总
转载: 2016年Web前端面试题目汇总 以下是收集一些面试中经常会遇到的经典面试题以及自己面试过程中未解决的问题,通过对知识的整理以及经验的总结,重新巩固自身的前端基础知识,如有错误或更好的答案,欢 ...
- web前端面试试题总结---其他
其他问题 原来公司工作流程是怎么样的,如何与其他人协作的?如何夸部门合作的? 你遇到过比较难的技术问题是?你是如何解决的? 设计模式 知道什么是singleton, factory, strategy ...
- web前端面试试题总结---css篇
CSS 介绍一下标准的CSS的盒子模型?低版本IE的盒子模型有什么不同的? (1)有两种, IE 盒子模型.W3C 盒子模型: (2)盒模型: 内容(content).填充(padding).边界(m ...
- web前端面试试题总结---javascript篇
JavaScript 介绍js的基本数据类型. Undefined.Null.Boolean.Number.String. ECMAScript 2015 新增:Symbol(创建后独一无二且不可变的 ...
- web前端-面试经验总结
这几次面试主要是冲着百度去的 面试1的主要问题: 笔试: 1.解释css盒子模型 2.常用选择器,以及优先级 3.B如何继承A 4.写一个闭包实例,有什么优点缺点 5.html5的心特性有哪些 6. ...
随机推荐
- 树状数组 && 线段树
树状数组 支持单点修改 #include <cstdio> using namespace std; int n, m; ], c[]; int lowbit(int x) { retur ...
- 【HDOJ 1085】数学问题,母函数
Holding Bin-Laden Captive! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Ja ...
- Android系统--输入系统(七)Reader_Dispatcher线程启动分析
Android系统--输入系统(七)Reader_Dispatcher线程启动分析 1. Reader/Dispatcher的引入 对于输入系统来说,将会创建两个线程: Reader线程(读取事件) ...
- DES/des3 加密程序
1 #ifndef POLARSSL_DES_H #define POLARSSL_DES_H #define DES_ENCRYPT 1 #define DES_DECRYPT 0 #define ...
- 《阿里巴巴Java开发手册(正式版》读记
前几天,阿里巴巴发布了<阿里巴巴Java开发手册(正式版>,第一时间下载阅读了一番. 不同于一般大厂内部的代码规范,阿里巴巴的这本Java开发手册,可谓包罗万象,几乎日常Java开发中方方 ...
- git 设置不需要输入密码, 去除 fetch / pull 代码每次都需要输入密码的烦恼
https方式每次都要输入密码,按照如下设置即可输入一次就不用再手输入密码的困扰而且又享受https带来的极速 设置记住密码(默认15分钟): git config --global credenti ...
- Azure IoT 技术研究系列5-Azure IoT Hub与Event Hub比较
上篇博文中,我们介绍了Azure IoT Hub的使用配额和缩放级别: Azure IoT 技术研究系列4-Azure IoT Hub的配额及缩放级别 本文中,我们比较一下Azure IoT Hub和 ...
- Express - 入门
Express入门篇 1.HelloWorld 根目录新建server.js文件,插入代码: var express = require('express'); var app = express( ...
- Java学习记录第一章
学习Java第一章的记录,这一章主要记录的是Java的最基础部分的了解知识,了解Java的特性和开发环境还有Java语言的优缺点. 计算机语言的发展大概过程:机器语言--->汇编语言---> ...
- 【2017-05-02】winform弹出警告框是否进行增删改操作、记事本制作、对话框控件和输出输入流
一.winform弹出警告框是否进行增删改操作 第一个参数是弹出窗体显示的内容,第二个参数是标题,第三个参数是该弹窗包含确定和取消按钮. 返回的是一个枚举类接收一下. 再进行判断,如果点的是确定按钮, ...